Advertisement
Guest User

Untitled

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