use of org.rembx.jeeshop.order.model.Order in project jeeshop by remibantos.
the class OrdersCT method findAll_whenClientHasUserRoleAndByStatusCREATED_shouldReturnOrdersWithThisStatus.
@Test
public void findAll_whenClientHasUserRoleAndByStatusCREATED_shouldReturnOrdersWithThisStatus() {
when(sessionContextMock.isUserInRole(JeeshopRoles.USER)).thenReturn(true);
when(sessionContextMock.isUserInRole(JeeshopRoles.ADMIN)).thenReturn(false);
when(sessionContextMock.getUserPrincipal()).thenReturn(new BasicUserPrincipal(testOrder.firstOrdersUser().getLogin()));
List<Order> orders = service.findAll(sessionContextMock, null, 0, 1, null, null, OrderStatus.CREATED, null, null);
assertThat(orders).isNotEmpty();
assertThat(orders).containsExactly(testOrder.secondOrder());
}
use of org.rembx.jeeshop.order.model.Order in project jeeshop by remibantos.
the class OrdersCT method create_shouldPersistOrderWithOrderItems_computePrice_andProcessPayment.
@Test
public void create_shouldPersistOrderWithOrderItems_computePrice_andProcessPayment() throws Exception {
Set<OrderItem> orderItems = new HashSet<>();
orderItems.add(new OrderItem(1L, 1L, 2));
orderItems.add(new OrderItem(2L, 2L, 3));
when(sessionContextMock.isUserInRole(JeeshopRoles.USER)).thenReturn(true);
when(sessionContextMock.getUserPrincipal()).thenReturn(new BasicUserPrincipal(testOrder.firstOrdersUser().getLogin()));
entityManager.getTransaction().begin();
Order order = new Order(orderItems, new Address("7 Rue des arbres", "Paris", "92800", "John", "Doe", "M.", null, "USA"), new Address("7 Rue des arbres", "Paris", "92800", "John", "Doe", "M.", null, "USA"));
order.setOrderDiscounts(new HashSet<>());
service.create(sessionContextMock, order, null);
entityManager.getTransaction().commit();
verify(sessionContextMock).isUserInRole(JeeshopRoles.USER);
verify(priceEngineMock).computePrice(order);
final Order persistedOrder = entityManager.find(Order.class, order.getId());
assertThat(persistedOrder).isNotNull();
assertThat(persistedOrder.getStatus()).isEqualTo(PAYMENT_VALIDATED);
assertThat(persistedOrder.getUser()).isEqualTo(testOrder.firstOrdersUser());
assertThat(persistedOrder.getItems()).hasSize(2);
entityManager.getTransaction().begin();
entityManager.remove(order);
entityManager.getTransaction().commit();
}
use of org.rembx.jeeshop.order.model.Order in project jeeshop by remibantos.
the class Orders method delete.
@DELETE
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@RolesAllowed(ADMIN)
@Path("/{orderId}")
public void delete(@PathParam("orderId") Long orderId) {
Order order = entityManager.find(Order.class, orderId);
checkNotNull(order);
entityManager.remove(order);
}
use of org.rembx.jeeshop.order.model.Order in project jeeshop by remibantos.
the class Orders method modify.
@PUT
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@RolesAllowed(ADMIN)
public Order modify(@NotNull Order order) {
Order existingOrder = entityManager.find(Order.class, order.getId());
checkNotNull(existingOrder);
order.setUser(existingOrder.getUser());
order.getItems().forEach(orderItem -> orderItem.setOrder(order));
return entityManager.merge(order);
}
Aggregations