diff --git a/backend/sql/database_schema.sql b/backend/sql/database_schema.sql index 56408a86..edb398c2 100644 --- a/backend/sql/database_schema.sql +++ b/backend/sql/database_schema.sql @@ -268,7 +268,6 @@ CREATE TABLE rental_return_items id SERIAL PRIMARY KEY, rental_return_id INT NOT NULL REFERENCES rental_returns(id) ON DELETE CASCADE, rental_id INT NOT NULL REFERENCES rentals(id) ON DELETE CASCADE, - book_id INT NOT NULL REFERENCES books(id), returned_quantity INT NOT NULL CHECK (returned_quantity > 0) ); diff --git a/backend/sql/sample_data.sql b/backend/sql/sample_data.sql index 32732229..2194dc04 100644 --- a/backend/sql/sample_data.sql +++ b/backend/sql/sample_data.sql @@ -332,9 +332,9 @@ INSERT INTO rental_returns (return_order_id, returned_at, status) VALUES (1,NULL, 'IN_PROGRESS'); -INSERT INTO rental_return_items (rental_return_id, rental_id, book_id, returned_quantity) +INSERT INTO rental_return_items (rental_return_id, rental_id, returned_quantity) VALUES - (1, 1, 2, 2); + (1, 1, 2); -- Driver accept the return order UPDATE orders diff --git a/backend/src/main/java/edu/zut/bookrider/mapper/rentalReturn/RentalReturnMapper.java b/backend/src/main/java/edu/zut/bookrider/mapper/rentalReturn/RentalReturnMapper.java index 50a5e082..38772516 100644 --- a/backend/src/main/java/edu/zut/bookrider/mapper/rentalReturn/RentalReturnMapper.java +++ b/backend/src/main/java/edu/zut/bookrider/mapper/rentalReturn/RentalReturnMapper.java @@ -4,6 +4,7 @@ import edu.zut.bookrider.dto.RentalReturnItemDTO; import edu.zut.bookrider.mapper.Mapper; import edu.zut.bookrider.mapper.book.BookReadMapper; +import edu.zut.bookrider.model.Rental; import edu.zut.bookrider.model.RentalReturn; import edu.zut.bookrider.model.RentalReturnItem; import lombok.RequiredArgsConstructor; @@ -34,10 +35,12 @@ public RentalReturnDTO map(RentalReturn rentalReturn) { } private RentalReturnItemDTO mapItem(RentalReturnItem item) { + Rental rental = item.getRental(); + return new RentalReturnItemDTO( item.getId(), - item.getRental().getId(), - item.getBook() != null ? bookReadMapper.map(item.getBook()) : null, + rental.getId(), + bookReadMapper.map(rental.getBook()), item.getReturnedQuantity() ); } diff --git a/backend/src/main/java/edu/zut/bookrider/model/RentalReturnItem.java b/backend/src/main/java/edu/zut/bookrider/model/RentalReturnItem.java index 5398d1bc..81839b0e 100644 --- a/backend/src/main/java/edu/zut/bookrider/model/RentalReturnItem.java +++ b/backend/src/main/java/edu/zut/bookrider/model/RentalReturnItem.java @@ -22,10 +22,6 @@ public class RentalReturnItem extends BaseEntity { @JoinColumn(name = "rental_id", nullable = false) private Rental rental; - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "book_id") - private Book book; - @Column(nullable = false) private int returnedQuantity; } diff --git a/backend/src/main/java/edu/zut/bookrider/service/RentalReturnItemService.java b/backend/src/main/java/edu/zut/bookrider/service/RentalReturnItemService.java index 7ca65a65..2ab15050 100644 --- a/backend/src/main/java/edu/zut/bookrider/service/RentalReturnItemService.java +++ b/backend/src/main/java/edu/zut/bookrider/service/RentalReturnItemService.java @@ -49,7 +49,6 @@ public List createRentalReturnItems(RentalReturn rentalReturn, RentalReturnItem returnItem = new RentalReturnItem(); returnItem.setRentalReturn(rentalReturn); returnItem.setRental(rental); - returnItem.setBook(rental.getBook()); returnItem.setReturnedQuantity(toReturn); returnItems.add(returnItem); diff --git a/backend/src/test/java/edu/zut/bookrider/integration/controller/OrderControllerIT.java b/backend/src/test/java/edu/zut/bookrider/integration/controller/OrderControllerIT.java index d2775634..f9289747 100644 --- a/backend/src/test/java/edu/zut/bookrider/integration/controller/OrderControllerIT.java +++ b/backend/src/test/java/edu/zut/bookrider/integration/controller/OrderControllerIT.java @@ -1216,7 +1216,6 @@ void whenDriverDeliversReturnOrder_thenReturnOkAndCreateRentalReturn() throws Ex RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); diff --git a/backend/src/test/java/edu/zut/bookrider/integration/controller/RentalControllerIT.java b/backend/src/test/java/edu/zut/bookrider/integration/controller/RentalControllerIT.java index cf59de21..4286482b 100644 --- a/backend/src/test/java/edu/zut/bookrider/integration/controller/RentalControllerIT.java +++ b/backend/src/test/java/edu/zut/bookrider/integration/controller/RentalControllerIT.java @@ -64,7 +64,6 @@ public class RentalControllerIT { private User user; private User driver; private Library library1; - private Library library2; private Address address; private Address createAddress(String postalCode, String city, String street, double lat, double lon) { @@ -160,7 +159,6 @@ void setUp() { driver = createUser("testdriver@rcit.com", "driver", 0); library1 = createLibrary("Library1", "70-426", "Szczecin", "Generała Ludomiła Rayskiego 3", 53.434882, 14.552266); - library2 = createLibrary("Library2", "70-426", "Szczecin", "Księdza Piotra Wawrzyniaka 13", 53.437720, 14.531702); } @Test @@ -232,14 +230,13 @@ void whenUserRequestsRentalsWithPartialReturns_thenReturnRentalsPageWithCorrectQ RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental1); - rentalReturnItem.setBook(rental1.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); rentalReturnItems.add(rentalReturnItem); rentalReturn.setRentalReturnItems(rentalReturnItems); - rentalReturn = rentalReturnRepository.save(rentalReturn); + rentalReturnRepository.save(rentalReturn); mockMvc.perform(MockMvcRequestBuilders.get("/api/rentals") .contentType(MediaType.APPLICATION_JSON)) diff --git a/backend/src/test/java/edu/zut/bookrider/integration/controller/RentalReturnControllerIT.java b/backend/src/test/java/edu/zut/bookrider/integration/controller/RentalReturnControllerIT.java index 9eacec3d..0014e0fd 100644 --- a/backend/src/test/java/edu/zut/bookrider/integration/controller/RentalReturnControllerIT.java +++ b/backend/src/test/java/edu/zut/bookrider/integration/controller/RentalReturnControllerIT.java @@ -444,7 +444,6 @@ void whenLibrarianRequestsLatestDriversReturn_thenReturnOkAndLatestReturn() thro RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -497,7 +496,6 @@ void whenLibrarianRequestsDeliveryReturnCompletion_thenReturnNoContent() throws RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -546,7 +544,6 @@ void whenLibrarianRequestsInPersonReturnCompletion_thenReturnNoContent() throws RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -593,7 +590,6 @@ void whenLibrarianRequestsInPersonReturnCompletionForDeliveryReturn_thenReturnNo RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -636,7 +632,6 @@ void whenLibrarianRequestsInPersonReturnDTOById_thenReturnOkAndRentalReturnDTO() RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -858,7 +853,6 @@ void whenUserHandsOverReturnOrder_thenChangeOrderStatusToInTransit() throws Exce RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -906,7 +900,6 @@ void whenUserHandsOverReturnOrderToWrongDriver_thenReturnBadRequest() throws Exc RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -951,7 +944,6 @@ void whenUserRequestsRentalReturnOrders_thenReturnRentalReturnDTOPage() throws E RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -996,7 +988,6 @@ void whenUserRequestsReturnOrderForAlreadyReturnedReturn_thenReturnConflict() th RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -1045,7 +1036,6 @@ void whenUserRequestsReturnOrderPartiallyReturnedReturn_thenReturnOk() throws Ex RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(1); List rentalReturnItems = new ArrayList<>(); @@ -1094,7 +1084,6 @@ void whenLibrarianRequestsDeliveryReturnCompletionFromWrongLibrary_thenReturnCon RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); @@ -1140,7 +1129,6 @@ void whenLibrarianRequestsInPersonReturnCompletionFromWrongLibrary_thenReturnCon RentalReturnItem rentalReturnItem = new RentalReturnItem(); rentalReturnItem.setRentalReturn(rentalReturn); rentalReturnItem.setRental(rental); - rentalReturnItem.setBook(rental.getBook()); rentalReturnItem.setReturnedQuantity(2); List rentalReturnItems = new ArrayList<>(); diff --git a/backend/src/test/java/edu/zut/bookrider/integration/service/NavigationServiceIT.java b/backend/src/test/java/edu/zut/bookrider/integration/service/NavigationServiceIT.java index 242832a1..4e6bd463 100644 --- a/backend/src/test/java/edu/zut/bookrider/integration/service/NavigationServiceIT.java +++ b/backend/src/test/java/edu/zut/bookrider/integration/service/NavigationServiceIT.java @@ -39,7 +39,7 @@ void whenPossibleRouteFromInput_thenNavigationStepsShouldBeCorrect() { double totalDuration = navigationResponseDTO.getTotalDuration(); assertEquals(0.2, totalDistance); - assertEquals(46.4, totalDuration); + assertEquals(46.3, totalDuration); List steps = navigationResponseDTO.getSteps(); @@ -57,7 +57,7 @@ void whenPossibleRouteFromInput_thenNavigationStepsShouldBeCorrect() { NavigationResponseDTO.RouteStep thirdStep = steps.get(2); - assertEquals(59.4, thirdStep.getStepDistance()); + assertEquals(59.3, thirdStep.getStepDistance()); assertEquals(10.7, thirdStep.getStepDuration()); assertEquals("Turn left", thirdStep.getInstruction()); diff --git a/backend/src/test/java/edu/zut/bookrider/unit/service/NavigationServiceTest.java b/backend/src/test/java/edu/zut/bookrider/unit/service/NavigationServiceTest.java index db82fd6a..ee58dd2d 100644 --- a/backend/src/test/java/edu/zut/bookrider/unit/service/NavigationServiceTest.java +++ b/backend/src/test/java/edu/zut/bookrider/unit/service/NavigationServiceTest.java @@ -64,7 +64,7 @@ void whenPossibleRouteFromInput_thenNavigationStepsShouldBeCorrect() { double totalDuration = navigationResponseDTO.getTotalDuration(); assertEquals(0.2, totalDistance); - assertEquals(46.4, totalDuration); + assertEquals(46.3, totalDuration); List steps = navigationResponseDTO.getSteps(); @@ -82,7 +82,7 @@ void whenPossibleRouteFromInput_thenNavigationStepsShouldBeCorrect() { NavigationResponseDTO.RouteStep thirdStep = steps.get(2); - assertEquals(59.4, thirdStep.getStepDistance()); + assertEquals(59.3, thirdStep.getStepDistance()); assertEquals(10.7, thirdStep.getStepDuration()); assertEquals("Turn left", thirdStep.getInstruction());