From 903e6051e8df11bd49eae13ca1ce0c283c56f5e3 Mon Sep 17 00:00:00 2001 From: Pavel_Sorokin Date: Mon, 20 Mar 2023 17:25:34 +0400 Subject: [PATCH] =?UTF-8?q?3=20=D0=BB=D0=B0=D0=B1=D0=B0=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=20=D0=B4=D0=BB=D1=8F=20=D0=B8=D0=B7=D0=B1=D1=80?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Favourite/service/FavouriteService.java | 2 +- .../is/sbapp/news/service/TidingService.java | 2 +- .../ru/ulstu/is/sbapp/JpaFavouriteTests.java | 92 ++++++++++++++++++- 3 files changed, 92 insertions(+), 4 deletions(-) diff --git a/src/main/java/ru/ulstu/is/sbapp/Favourite/service/FavouriteService.java b/src/main/java/ru/ulstu/is/sbapp/Favourite/service/FavouriteService.java index 8394257..9f2583e 100644 --- a/src/main/java/ru/ulstu/is/sbapp/Favourite/service/FavouriteService.java +++ b/src/main/java/ru/ulstu/is/sbapp/Favourite/service/FavouriteService.java @@ -82,7 +82,7 @@ public class FavouriteService { } @Transactional - public void removeTechniqueInPurchase(Long id, Tiding tiding, int count) { + public void removeTechniqueInPurchase(Long id, Tiding tiding) { final Favourite favourite = findFavourite(id); FavouriteTiding favouriteTiding = em.find(FavouriteTiding.class, new FavouriteTidingId(favourite.getId(), tiding.getId())); if (favouriteTiding == null) { diff --git a/src/main/java/ru/ulstu/is/sbapp/news/service/TidingService.java b/src/main/java/ru/ulstu/is/sbapp/news/service/TidingService.java index 355b615..abad43a 100644 --- a/src/main/java/ru/ulstu/is/sbapp/news/service/TidingService.java +++ b/src/main/java/ru/ulstu/is/sbapp/news/service/TidingService.java @@ -60,7 +60,7 @@ public class TidingService { } @Transactional - public void deleteAllTechniques() { + public void deleteAllTidings() { em.createQuery("delete from FavouriteTiding"); em.createQuery("delete from Tiding").executeUpdate(); } diff --git a/src/test/java/ru/ulstu/is/sbapp/JpaFavouriteTests.java b/src/test/java/ru/ulstu/is/sbapp/JpaFavouriteTests.java index f2a3952..2f78bcb 100644 --- a/src/test/java/ru/ulstu/is/sbapp/JpaFavouriteTests.java +++ b/src/test/java/ru/ulstu/is/sbapp/JpaFavouriteTests.java @@ -1,5 +1,7 @@ package ru.ulstu.is.sbapp; +import jakarta.persistence.EntityNotFoundException; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,6 +12,9 @@ import ru.ulstu.is.sbapp.Favourite.service.FavouriteService; import ru.ulstu.is.sbapp.news.model.Tiding; import ru.ulstu.is.sbapp.news.service.TidingService; +import java.util.Date; +import java.util.List; + @SpringBootTest public class JpaFavouriteTests { @@ -20,8 +25,91 @@ public class JpaFavouriteTests { private TidingService tidingService; @Test - void Test() - { + void testFavouriteCreate() { + favouriteService.deleteAllFavourites(); + final Date dateofadd= new Date(1212121212121L); + final Favourite favourite = favouriteService.addFavourite(dateofadd); + log.info("testFavouriteCreate: " + favourite.toString()); + Assertions.assertNotNull(favourite.getId()); + favouriteService.deleteAllFavourites(); } + + @Test + void testFavouriteRead() { + favouriteService.deleteAllFavourites(); + final Date dateofadd= new Date(1212121212121L); + final Favourite favourite = favouriteService.addFavourite(dateofadd); + log.info("testFavouriteRead[0]: " + favourite.toString()); + final Favourite findFavourite = favouriteService.findFavourite(favourite.getId()); + log.info("testFavouriteRead[1]: " + findFavourite.toString()); + Assertions.assertEquals(favourite, findFavourite); + + favouriteService.deleteAllFavourites(); + } + + @Test + void testFavouriteReadNotFound() { + favouriteService.deleteAllFavourites(); + Assertions.assertThrows(EntityNotFoundException.class, () -> favouriteService.findFavourite(-1L)); + } + + @Test + void testFavouriteReadAll() { + favouriteService.deleteAllFavourites(); + final Date dateofadd1= new Date(1212121212121L); + final Date dateofadd2= new Date(121212121121L); + favouriteService.addFavourite(dateofadd1); + favouriteService.addFavourite(dateofadd2); + final List favourites = favouriteService.findAllFavourites(); + log.info("testFavouriteReadAll: " + favourites.toString()); + Assertions.assertEquals(favourites.size(), 2); + + favouriteService.deleteAllFavourites(); + } + + @Test + void testFavouriteReadAllEmpty() { + favouriteService.deleteAllFavourites(); + final List favourites = favouriteService.findAllFavourites(); + log.info("testFavouriteReadAllEmpty: " + favourites.toString()); + Assertions.assertEquals(favourites.size(), 0); + } + + @Test + void testAddTidingInFavourite() { + favouriteService.deleteAllFavourites(); + final Date dateofadd1= new Date(1212121212121L); + Favourite favourite = favouriteService.addFavourite(dateofadd1); + final Tiding tidingOne = tidingService.addTiding("Tiding 1", "abcd"); + final Tiding tidingTwo = tidingService.addTiding("Tiding 2", "efgh"); + favouriteService.addTechniqueInPurchase(favourite.getId(), tidingOne); + favouriteService.addTechniqueInPurchase(favourite.getId(), tidingTwo); + favourite = favouriteService.findFavourite(favourite.getId()); + log.info("testAddTidingInFavourite: " + favourite.getTidings().toString()); + Assertions.assertEquals(favourite.getTidings().size(), 2); + + favouriteService.deleteAllFavourites(); + tidingService.deleteAllTidings(); + } + + + @Test + void testRemoveTidingFromFavourite() { + favouriteService.deleteAllFavourites(); + final Date dateofadd1= new Date(1212121212121L); + Favourite favourite = favouriteService.addFavourite(dateofadd1); + final Tiding tidingOne = tidingService.addTiding("Tiding 1", "abcd"); + final Tiding tidingTwo = tidingService.addTiding("Tiding 2", "efgh"); + favouriteService.addTechniqueInPurchase(favourite.getId(), tidingOne); + favouriteService.addTechniqueInPurchase(favourite.getId(), tidingTwo); + favouriteService.removeTechniqueInPurchase(favourite.getId(), tidingOne); + favourite = favouriteService.findFavourite(favourite.getId()); + log.info("testRemoveTidingFromFavourite: " + favourite.getTidings()); + Assertions.assertEquals(favourite.getTidings().size(), 1); + + favouriteService.deleteAllFavourites(); + tidingService.deleteAllTidings(); + } + }