Index: pom.xml
===================================================================
diff -u -r0b1cd0485df79987d67ba5ed4fc04719434ca5c9 -re721495807762d47ae65ab5ecf7ea3f22d5025ac
--- pom.xml (.../pom.xml) (revision 0b1cd0485df79987d67ba5ed4fc04719434ca5c9)
+++ pom.xml (.../pom.xml) (revision e721495807762d47ae65ab5ecf7ea3f22d5025ac)
@@ -353,16 +353,24 @@
org.junit.jupiter
junit-jupiter-api
- 5.8.1
+ 5.10.0
compile
+ net.bytebuddy
+ byte-buddy
+ 1.14.17
+
+
+
org.springframework.boot
spring-boot-test
org.mockito
mockito-core
+ 5.11.0
+ test
Index: src/test/java/com/napa/pulse/dao/impl/SessionDAOImplUnitTest.java
===================================================================
diff -u -r632edbfd8fd338838bacd48d2e14eac01602166e -re721495807762d47ae65ab5ecf7ea3f22d5025ac
--- src/test/java/com/napa/pulse/dao/impl/SessionDAOImplUnitTest.java (.../SessionDAOImplUnitTest.java) (revision 632edbfd8fd338838bacd48d2e14eac01602166e)
+++ src/test/java/com/napa/pulse/dao/impl/SessionDAOImplUnitTest.java (.../SessionDAOImplUnitTest.java) (revision e721495807762d47ae65ab5ecf7ea3f22d5025ac)
@@ -1,21 +1,33 @@
package com.napa.pulse.dao.impl;
+import com.google.gson.Gson;
+import com.napa.pulse.dao.interfaces.SessionDAO;
+import com.napa.pulse.entity.security.User;
+import com.napa.pulse.service.impl.SessionServiceImpl;
import org.junit.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
-import org.mockito.*;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.Mock;
+import org.mockito.MockedConstruction;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
+import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.core.namedparam.SqlParameterSource;
import org.springframework.jdbc.core.simple.SimpleJdbcCall;
+import javax.servlet.http.HttpServletResponse;
+import javax.sql.DataSource;
+import java.io.PrintWriter;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import static org.mockito.Mockito.*;
+import static org.mockito.MockitoAnnotations.initMocks;
/**
* @author Rahul Chaudhary
@@ -25,17 +37,40 @@
@RunWith(MockitoJUnitRunner.class)
public class SessionDAOImplUnitTest {
@InjectMocks
- SessionDAOImpl sessionDAOImplMock;
+ private SessionDAOImpl sessionDAOImplMock;
@Mock
private JdbcTemplate jdbcTemplate;
@Mock
private SimpleJdbcCall simpleJdbcCall;
+ @Mock
+ private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
+ @Mock
+ private SessionDAO sessionDAO;
+
+ @Mock
+ private SessionServiceImpl sessionServiceImpl;
+ @Mock
+ private HttpServletResponse response;
+ @Mock
+ private User user;
+ @Mock
+ private PrintWriter printWriter;
+ @Mock
+ private DataSource dataSource;
+
+ MockedConstruction mockConstruct;
+
+
+ private Gson gson;
+
+
@BeforeEach
- public void setup() {
- MockitoAnnotations.initMocks(this);
+ public void setup() throws Exception{
+ initMocks(this);
+ when(response.getWriter()).thenReturn(printWriter);
}
@Test
@@ -64,4 +99,59 @@
SimpleJdbcCall simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("RECALC_SESSION_TOTALS");
when(simpleJdbcCall.execute(in)).thenThrow(Exception.class);
}
+
+
+
+ @Test
+ public void testGetMinMaxSessionDashboardData_SalesHistoryMinMax() throws Exception
+ {
+ PrintWriter pwt = mock(PrintWriter.class);
+ when(sessionDAO.isSessionFinalized(anyInt())).thenReturn(true);
+ when(jdbcTemplate.queryForObject(anyString(), eq(String.class))).thenReturn("DIT");
+ when(namedParameterJdbcTemplate.queryForList(anyString(), anyMap())).thenReturn(new ArrayList<>());
+ HttpServletResponse resp = mock(HttpServletResponse.class);
+ PrintWriter writer = new PrintWriter("somefile.txt");
+ when(resp.getWriter()).thenReturn(writer);
+ sessionDAOImplMock.getMinMaxSessionDashboardData(
+ 1, "[1,2]", "[\"A\",\"B\"]", "G1", true, "true", "line", "asc", 1, 10, "", resp, user, 10, null);
+ sessionDAOImplMock.getMinMaxSessionDashboardData(
+ 1, "[1,2]", "[\"A\",\"B\"]", "G1", true, "true", "salesHistory", "desc", 1, 10, "", resp, user, 10, null);
+
+ sessionDAOImplMock.getMinMaxSessionDashboardData(
+ 1, "[1,2]", "[\"A\",\"B\"]", "G1", true, "true", "group", "asc", 1, 10, "", resp, user, null, 20);
+ sessionDAOImplMock.getMinMaxSessionDashboardData(
+ 1, "[1,2]", "[\"A\",\"B\"]", "G1", true, "true", "reviewed", "asc", 1, 10, "", resp, user, 10, 20);
+ sessionDAOImplMock.getMinMaxSessionDashboardData(
+ 1, "[1,2]", "[\"A\",\"B\"]", "G1", false, "true", "perCar", "asc", 1, 10, "", resp, user, 10, 20);
+
+ sessionDAOImplMock.getMinMaxSessionDashboardData(
+ 1, "", "", "", true, "false", "firstStockDate", null, 1, 10, "", resp, user, 10, 20);
+ sessionDAOImplMock.getMinMaxSessionDashboardData(
+ 1, "[]", "[]", "G1", true, "true", "siteName", "asc", 1, 10, "", resp, user, 10, 20);
+ verify(resp, times(1));
+ }
+
+
+ @Test
+ public void testGetMinMaxSessionDashboardCnt_AllParameters() {
+
+
+ Mockito.when(sessionDAO.isSessionFinalized(anyInt())).thenReturn(false);
+ Mockito.when(jdbcTemplate.queryForObject(anyString(), eq(String.class))).thenReturn("DIT");
+
+ mockConstruct = Mockito.mockConstruction(NamedParameterJdbcTemplate.class, (mock, context) -> {
+ when(mock.queryForObject(eq(anyString()), any(SqlParameterSource.class), Integer.class)).thenReturn(4);
+ });
+
+ Integer result = sessionDAOImplMock.getMinMaxSessionDashboardCnt(1, "[1,2]", "[\"A\",\"B\"]", "10", true, "true", 10, 100);
+ Integer result1 = sessionDAOImplMock.getMinMaxSessionDashboardCnt(1, null, null, null, null, "false", 10, null);
+ Integer result2 = sessionDAOImplMock.getMinMaxSessionDashboardCnt(1, "[]", "[]", "10", false, "false", null, 100);
+
+ }
+
+
+
+
+
+
}