@Test public void testBrandNewUser() throws ServletException, IOException { // Scenario: // User visits the website for the first time or has cleared all cookies given(cookieGenerator.getCookieName()).willReturn(""); filter.doFilterInternal(request, response, filterChain); // Expect to check cookies verify(request, times(1)).getCookies(); // Expect no userLocationData to be set verify(customerLocationFacade, never()).setUserLocationData(any(UserLocationData.class)); }
@Test public void testRegularUser() throws ServletException, IOException { // Scenario: // User selects a store location, then decides to pickup an item final UserLocationData userLocationData = mock(UserLocationData.class); given(customerLocationFacade.getUserLocationData()).willReturn(userLocationData); filter.doFilterInternal(request, response, filterChain); // Expect not to check cookies verify(request, never()).getCookies(); // Expect no userLocationData to be set verify(customerLocationFacade, never()).setUserLocationData(any(UserLocationData.class)); }
@Test public void testLoggedInUserWhoLogsOut() throws ServletException, IOException { // Scenario: // User selects a store location, logs in, then logs out to end the session // The user then decides to pickup another item given(cookieGenerator.getCookieName()).willReturn(COOKIE_NAME); filter.doFilterInternal(request, response, filterChain); // Expect to check cookies verify(request, times(1)).getCookies(); // Expect a userLocationData to be set verify(customerLocationFacade, times(1)).setUserLocationData(any(UserLocationData.class)); }