Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package com.bootexample4.products.controller;

import java.util.Optional;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.when;
import com.bootexample4.products.model.Product;
import com.bootexample4.products.repository.ProductRepository;

public class ProductController_createProduct_5fee6d5a95_Test {

@InjectMocks
ProductController productController;

@Mock
ProductRepository productRepository;

@BeforeEach
public void init() {
MockitoAnnotations.initMocks(this);
}

@Test
public void testCreateProduct() {

Product product = new Product();
product.setId(1L); // Changed from int to Long
product.setName("Test Product");
product.setDescription("Test Description");
product.setPrice(100.0);

when(productRepository.save(product)).thenReturn(product);

Product result = productController.createProduct(product);

assertEquals(product, result);
}

@Test
public void testCreateProductWithNull() {
Product product = null;
when(productRepository.save(product)).thenReturn(product);

Product result = productController.createProduct(product);

assertEquals(product, result);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// Test generated by RoostGPT for test endtoendunit using AI Type Open AI and AI Model gpt-4

package com.bootexample4.products.controller;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.when;

import java.util.Optional;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.http.ResponseEntity;

import com.bootexample4.products.model.Product;
import com.bootexample4.products.repository.ProductRepository;

public class ProductController_deleteProduct_8aa83376b7_Test {

@InjectMocks
private ProductController productController;

@Mock
private ProductRepository productRepository;

private Product product;

@BeforeEach
public void setup() {
MockitoAnnotations.initMocks(this);
product = new Product();
product.setId(1L);
}

@Test
public void testDeleteProduct_Success() {
when(productRepository.findById(any(Long.class))).thenReturn(Optional.of(product));
doNothing().when(productRepository).delete(product);

ResponseEntity<Object> responseEntity = productController.deleteProduct(1L);
assertEquals(200, responseEntity.getStatusCodeValue());
}

@Test
public void testDeleteProduct_NotFound() {
when(productRepository.findById(any(Long.class))).thenReturn(Optional.empty());

ResponseEntity<Object> responseEntity = productController.deleteProduct(1L);
assertEquals(404, responseEntity.getStatusCodeValue());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
// Test generated by RoostGPT for test endtoendunit using AI Type Open AI and AI Model gpt-4

package com.bootexample4.products.controller;

import java.util.Arrays;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import static org.mockito.Mockito.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import com.bootexample4.products.model.Product;
import com.bootexample4.products.repository.ProductRepository;

public class ProductController_getAllProducts_ce6c2f6265_Test {

@InjectMocks
ProductController productController;

@Mock
ProductRepository productRepository;

@BeforeEach
public void init() {
MockitoAnnotations.initMocks(this);
}

@Test
public void testGetAllProducts() {
Product product1 = new Product();
product1.setId(1L); // Changed from int to Long
product1.setName("Product1");
product1.setDescription("Description1");
product1.setPrice(100.0);

Product product2 = new Product();
product2.setId(2L); // Changed from int to Long
product2.setName("Product2");
product2.setDescription("Description2");
product2.setPrice(200.0);

when(productRepository.findAll()).thenReturn(Arrays.asList(product1, product2));

List<Product> productList = productController.getAllProducts();
assertEquals(2, productList.size());
verify(productRepository, times(1)).findAll();
}

@Test
public void testGetAllProducts_Empty() {
when(productRepository.findAll()).thenReturn(Arrays.asList());

List<Product> productList = productController.getAllProducts();
assertEquals(0, productList.size());
verify(productRepository, times(1)).findAll();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// Test generated by RoostGPT for test endtoendunit using AI Type Open AI and AI Model gpt-4

package com.bootexample4.products.controller;

import com.bootexample4.products.model.Product;
import com.bootexample4.products.repository.ProductRepository;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

import java.util.Optional;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.when;

public class ProductController_getProductById_079f0e7d67_Test {

@InjectMocks
ProductController productController;

@Mock
ProductRepository productRepository;

@BeforeEach
public void setup() {
MockitoAnnotations.openMocks(this);
}

@Test
public void testGetProductById_found() {
Product product = new Product();
product.setId(1L);
product.setName("Test Product");

when(productRepository.findById(1L)).thenReturn(Optional.of(product));

ResponseEntity<Product> responseEntity = productController.getProductById(1L);

assertEquals(HttpStatus.OK, responseEntity.getStatusCode());
assertEquals(product, responseEntity.getBody());
}

@Test
public void testGetProductById_notFound() {
when(productRepository.findById(1L)).thenReturn(Optional.empty());

ResponseEntity<Product> responseEntity = productController.getProductById(1L);

assertEquals(HttpStatus.NOT_FOUND, responseEntity.getStatusCode());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// Test generated by RoostGPT for test endtoendunit using AI Type Open AI and AI Model gpt-4

package com.bootexample4.products.controller;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.http.ResponseEntity;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import com.bootexample4.products.model.Product;
import com.bootexample4.products.repository.ProductRepository;

import java.util.Optional;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;

@RunWith(MockitoJUnitRunner.class)
public class ProductController_updateProduct_d88ecc4aa9_Test {

@InjectMocks
ProductController productController;

@Mock
ProductRepository productRepository;

@Before
public void setup() {
MockHttpServletRequest request = new MockHttpServletRequest();
RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
}

@Test
public void testUpdateProductSuccess() {
Product existingProduct = new Product();
existingProduct.setId(1L);
existingProduct.setName("Old Product");
existingProduct.setDescription("Old Description");
existingProduct.setPrice(100.00);

Product newProduct = new Product();
newProduct.setName("New Product");
newProduct.setDescription("New Description");
newProduct.setPrice(200.00);

when(productRepository.findById(1L)).thenReturn(Optional.of(existingProduct));
when(productRepository.save(existingProduct)).thenReturn(newProduct);

ResponseEntity<Product> responseEntity = productController.updateProduct(1L, newProduct);

assertEquals(200, responseEntity.getStatusCodeValue());
assertEquals(newProduct, responseEntity.getBody());
}

@Test
public void testUpdateProductNotFound() {
Product newProduct = new Product();
newProduct.setName("New Product");
newProduct.setDescription("New Description");
newProduct.setPrice(200.00);

when(productRepository.findById(1L)).thenReturn(Optional.empty());

ResponseEntity<Product> responseEntity = productController.updateProduct(1L, newProduct);

assertEquals(404, responseEntity.getStatusCodeValue());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Test generated by RoostGPT for test endtoendunit using AI Type Open AI and AI Model gpt-4

package com.bootexample4.products.model;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;

public class Product_getDescription_ca387c4bd2_Test {

@Mock
private Product product;

@BeforeEach
public void setup() {
MockitoAnnotations.openMocks(this);
}

@Test
public void testGetDescription_Success() {
String expectedDescription = "Test Product Description";
Mockito.when(product.getDescription()).thenReturn(expectedDescription);

String actualDescription = product.getDescription();
Assertions.assertEquals(expectedDescription, actualDescription);
}

@Test
public void testGetDescription_Null() {
Mockito.when(product.getDescription()).thenReturn(null);

String actualDescription = product.getDescription();
Assertions.assertNull(actualDescription);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.bootexample4.products.model;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import static org.mockito.Mockito.*;

public class Product_getId_eb19b6a6d6_Test {

@Mock
private Product product;

@BeforeEach
public void setup() {
MockitoAnnotations.initMocks(this);
}

@Test
public void testGetIdSuccess() {
Long expectedId = 123L;
when(product.getId()).thenReturn(expectedId);
Long actualId = product.getId();
assertEquals(expectedId, actualId, "The expected ID does not match the actual ID.");
}

@Test
public void testGetIdNull() {
when(product.getId()).thenReturn(null);
Long actualId = product.getId();
assertNull(actualId, "The ID should be null.");
}
}
Loading