Index: src/main/java/com/napa/pulse/service/impl/TrainingResourceServiceImpl.java =================================================================== diff -u -r0a711de3f0410941d1fc6d254ca325db3e2f1b5e -ra3857f12b5cf17d99a572169df7312017db54b49 --- src/main/java/com/napa/pulse/service/impl/TrainingResourceServiceImpl.java (.../TrainingResourceServiceImpl.java) (revision 0a711de3f0410941d1fc6d254ca325db3e2f1b5e) +++ src/main/java/com/napa/pulse/service/impl/TrainingResourceServiceImpl.java (.../TrainingResourceServiceImpl.java) (revision a3857f12b5cf17d99a572169df7312017db54b49) @@ -8,6 +8,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.sql.Date; + @Service public class TrainingResourceServiceImpl implements TrainingResourceService { @Autowired @@ -16,8 +18,9 @@ @Autowired private ExportColumnNameRepository exportColumnNameRepository; - public TrainingResourceServiceImpl(ExportColumnNameRepository exportColumnNameRepository) { + public TrainingResourceServiceImpl(ExportColumnNameRepository exportColumnNameRepository,TrainingResourceRepository trainingResourceRepository) { this.exportColumnNameRepository = exportColumnNameRepository; + this.trainingResourceRepository = trainingResourceRepository; } @Override Index: src/test/java/com/napa/pulse/service/impl/TrainingResourceServiceImplUnitTest.java =================================================================== diff -u -rf601b41a42a7e53834fa4d2d91a0777cd9134e03 -ra3857f12b5cf17d99a572169df7312017db54b49 --- src/test/java/com/napa/pulse/service/impl/TrainingResourceServiceImplUnitTest.java (.../TrainingResourceServiceImplUnitTest.java) (revision f601b41a42a7e53834fa4d2d91a0777cd9134e03) +++ src/test/java/com/napa/pulse/service/impl/TrainingResourceServiceImplUnitTest.java (.../TrainingResourceServiceImplUnitTest.java) (revision a3857f12b5cf17d99a572169df7312017db54b49) @@ -1,6 +1,8 @@ package com.napa.pulse.service.impl; +import com.google.api.client.util.store.AbstractMemoryDataStore; import com.napa.pulse.entity.pulseui.TrainingResource; +import com.napa.pulse.repository.ExportColumnNameRepository; import com.napa.pulse.repository.TrainingResourceRepository; import org.junit.Test; import org.junit.jupiter.api.BeforeEach; @@ -10,97 +12,127 @@ import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.mockito.*; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.boot.test.mock.mockito.MockBeans; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.util.ReflectionTestUtils; +import java.io.Serializable; import java.util.Collections; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; /** * @author Aqueel Ahmad * 29/08/2022 */ @SpringBootTest -@RunWith ( MockitoJUnitRunner.class ) +@RunWith (MockitoJUnitRunner.class ) public class TrainingResourceServiceImplUnitTest { + + + @Mock + TrainingResourceRepository trainingResourceRepository; + + @Mock + ExportColumnNameRepository exportColumnNameRepository; + @InjectMocks TrainingResourceServiceImpl trainingResourceImpl; - @Mock - TrainingResource trainingResource; + private TrainingResource trainingResource; - @Mock - TrainingResourceRepository trainingResourceRepository; @BeforeEach - public void setup ( ) { + public void setUp() { MockitoAnnotations.initMocks(this); - trainingResourceRepository = Mockito.mock(TrainingResourceRepository.class); - trainingResourceImpl = new TrainingResourceServiceImpl(trainingResourceRepository); + trainingResource = Mockito.mock(TrainingResource.class); + trainingResource.setId(1); + trainingResource.setIsActive(1); + trainingResource.setResourceGroup("NON_STATIC"); + trainingResource.setUpdateDate(new java.sql.Date(System.currentTimeMillis())); + trainingResource.setCreatedBy("testUser"); + trainingResource.setUpdatedBy("testUser"); + //ReflectionTestUtils .setField(trainingResourceImpl,"trainingResourceRepository",trainingResourceRepository); } - @Test public void test_CreateNewItem ( ) { - trainingResourceRepository = Mockito.mock(TrainingResourceRepository.class); - trainingResourceImpl = new TrainingResourceServiceImpl(trainingResourceRepository); - TrainingResource expected = new TrainingResource(); - expected.setIsActive(1); - when(trainingResourceRepository.save(any())).thenReturn(expected); - trainingResource = trainingResourceImpl.createNewItem(expected); - assertThat(trainingResource).isNotNull(); + TrainingResourceServiceImpl trainingResourceImpl = new TrainingResourceServiceImpl(exportColumnNameRepository,trainingResourceRepository); + + TrainingResource trainingResource = Mockito.mock(TrainingResource.class); + trainingResource.setIsActive(1); + when(trainingResourceRepository.save(any(TrainingResource.class))).thenReturn(trainingResource); + TrainingResource savedResponse = trainingResourceImpl.createNewItem(trainingResource); + assertNotNull(savedResponse); + assertEquals(trainingResource.getIsActive(),savedResponse.getIsActive()); + + + } @Test public void test_getAllResources ( ) { - trainingResourceRepository = Mockito.mock(TrainingResourceRepository.class); - trainingResourceImpl = new TrainingResourceServiceImpl(trainingResourceRepository); - TrainingResource trainingResource = new TrainingResource(); + //assertNotNull(trainingResourceRepository); + //trainingResourceRepository = Mockito.mock(TrainingResourceRepository.class); + TrainingResource trainingResource = Mockito.mock(TrainingResource.class); + trainingResourceImpl = new TrainingResourceServiceImpl(exportColumnNameRepository,trainingResourceRepository); + trainingResource.setId(1); + trainingResource.setIsActive(1); + trainingResource.setResourceGroup("NON_STATIC"); + trainingResource.setUpdateDate(new java.sql.Date(System.currentTimeMillis())); + trainingResource.setCreatedBy("testUser"); + trainingResource.setUpdatedBy("testUser"); when(trainingResourceRepository.findByIsActiveOrderByDateDesc(anyInt(), anyString())).thenReturn(Collections.singleton(trainingResource)); Iterable trainingResources = trainingResourceImpl.getAllResources("STATIC"); assertThat(trainingResources).isNotNull(); } - @Test - public void test_getResourceLink ( ) { - String expected = "xyz"; - trainingResourceRepository = Mockito.mock(TrainingResourceRepository.class); - trainingResourceImpl = new TrainingResourceServiceImpl(trainingResourceRepository); - when(trainingResourceRepository.getResourceUrl(anyString(), anyString())).thenReturn(expected); - String link = trainingResourceImpl.getResourceLink("fleets", "STATIC"); - assertThat(link).isNotNull(); + @Test + public void testGetResourceLink() { + String expectedUrl = "http://example.com/resource"; + when(trainingResourceRepository.getResourceUrl(anyString(), anyString())).thenReturn(expectedUrl); + String result = trainingResourceImpl.getResourceLink("testTitle", "NON_STATIC"); + assertNotNull(result); + assertEquals(expectedUrl, result); + verify(trainingResourceRepository, times(1)).getResourceUrl("testTitle", "NON_STATIC"); } @Test public void test_updateResource () { - TrainingResource expected = new TrainingResource(); - trainingResourceRepository = Mockito.mock(TrainingResourceRepository.class); - trainingResourceImpl = new TrainingResourceServiceImpl(trainingResourceRepository); - when(trainingResourceRepository.findById(any())).thenReturn(java.util.Optional.of(expected)); + + TrainingResource trainingResource = Mockito.mock(TrainingResource.class); + trainingResourceImpl = new TrainingResourceServiceImpl(exportColumnNameRepository,trainingResourceRepository); + when(trainingResourceRepository.findById(any())).thenReturn(java.util.Optional.of(trainingResource)); trainingResource.setResourceGroup(anyString()); trainingResource.setTitle(anyString()); - trainingResource.setResourceGroup(anyString()); - when(trainingResourceRepository.save(any())).thenReturn(expected); - trainingResource = trainingResourceImpl.updateResource(expected); + trainingResource.setResourceGroup("TEST"); + when(trainingResourceRepository.save(any())).thenReturn(trainingResource); + trainingResource = trainingResourceImpl.updateResource(trainingResource); assertThat(trainingResource).isNotNull(); } @Test public void test_deleteResources() - { TrainingResource expected = new TrainingResource(); - trainingResourceRepository = Mockito.mock(TrainingResourceRepository.class); - trainingResourceImpl = new TrainingResourceServiceImpl(trainingResourceRepository); - when(trainingResourceRepository.findById(any())).thenReturn(java.util.Optional.of(expected)); + { TrainingResource trainingResource = Mockito.mock(TrainingResource.class); + trainingResourceImpl = new TrainingResourceServiceImpl(exportColumnNameRepository,trainingResourceRepository); + when(trainingResourceRepository.findById(any())).thenReturn(java.util.Optional.of(trainingResource)); trainingResource.setIsActive(anyInt()); - when(trainingResourceRepository.save(any())).thenReturn(expected); + when(trainingResourceRepository.save(any())).thenReturn(trainingResource); trainingResource = trainingResourceImpl.deleteResources(anyInt()); assertThat(trainingResource).isNotNull(); } } +