Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.32 KB | None | 0 0
  1. package com.pszymczyk;
  2.  
  3. import java.util.Arrays;
  4. import java.util.HashSet;
  5. import java.util.UUID;
  6.  
  7. import org.junit.Test;
  8.  
  9. import com.pszymczyk.adapters.ReservationEntity;
  10. import com.pszymczyk.adapters.TripEntity;
  11. import com.pszymczyk.domain.Reservation;
  12. import com.pszymczyk.domain.Trip;
  13.  
  14. import static com.pszymczyk.domain.Reservation.ReservationStatus.CONFIRMED;
  15. import static com.pszymczyk.domain.Reservation.ReservationStatus.NEW;
  16. import static java.util.Arrays.asList;
  17. import static java.util.Collections.singleton;
  18. import static java.util.Collections.singletonList;
  19. import static org.assertj.core.api.Assertions.assertThat;
  20.  
  21. public class TripEntityTest {
  22.  
  23.     @Test
  24.     public void shouldApplyReservationStatusChange() {
  25.         //given
  26.         ReservationEntity reservationEntity = new ReservationEntity();
  27.         reservationEntity.setId(UUID.randomUUID());
  28.         reservationEntity.setStatus("NEW");
  29.         TripEntity entity = new TripEntity();
  30.         entity.setReservations(singleton(reservationEntity));
  31.  
  32.         Reservation reservation = new Reservation(reservationEntity.getId(), "kazik", CONFIRMED);
  33.         Trip trip = new Trip("123", 10, singletonList(reservation));
  34.  
  35.         //when
  36.         entity.update(trip);
  37.  
  38.         //then
  39.         assertThat(entity.getReservations()
  40.                          .stream()
  41.                          .findFirst()
  42.                          .map(e -> e.getStatus())
  43.                          .get())
  44.                 .isEqualTo("CONFIRMED");
  45.     }
  46.  
  47.     @Test
  48.     public void shouldApplyReservationStatusChangeOnEveryRecord() {
  49.         //given
  50.         ReservationEntity oneReservationEntity = new ReservationEntity();
  51.         oneReservationEntity.setId(UUID.randomUUID());
  52.         oneReservationEntity.setStatus("NEW");
  53.  
  54.         ReservationEntity anotherReservationEntity = new ReservationEntity();
  55.         anotherReservationEntity.setId(UUID.randomUUID());
  56.         anotherReservationEntity.setStatus("NEW");
  57.  
  58.         TripEntity entity = new TripEntity();
  59.         entity.setReservations(new HashSet<>(asList(oneReservationEntity, anotherReservationEntity)));
  60.  
  61.         Reservation reservation = new Reservation(oneReservationEntity.getId(), "kazik", CONFIRMED);
  62.         Reservation anotherReservation = new Reservation(anotherReservationEntity.getId(), "kazik", CONFIRMED);
  63.         Trip trip = new Trip("123", 10, Arrays.asList(reservation, anotherReservation));
  64.  
  65.         //when
  66.         entity.update(trip);
  67.  
  68.         //then
  69.         assertThat(entity.getReservations()
  70.                          .stream()
  71.                          .filter(e -> e.getStatus() == CONFIRMED.name())
  72.                          .count()).isEqualTo(2);
  73.     }
  74.  
  75.     @Test
  76.     public void shouldApplyNewReservation() {
  77.         //given
  78.         TripEntity entity = new TripEntity();
  79.         entity.setReservations(new HashSet<>());
  80.  
  81.         Reservation reservation = new Reservation(UUID.randomUUID(), "kazik", NEW);
  82.         Trip trip = new Trip("123", 10, singletonList(reservation));
  83.  
  84.         //when
  85.         entity.update(trip);
  86.  
  87.         //then
  88.         assertThat(entity.getReservations()
  89.                          .stream()
  90.                          .findFirst()
  91.                          .map(e -> e.getStatus())
  92.                          .get())
  93.                 .isEqualTo("NEW");
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement