From 254ddf6f5497bbc94cef711d4789d5c62ea6558e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB=D0=B0=D0=B9?= Date: Sun, 26 Mar 2023 16:41:43 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=B0=D1=8E=D1=82.=20=D0=92=D1=81=D1=91=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BB=D0=B8=D1=87=D0=BD=D0=BE,=20=D0=B2=D1=81?= =?UTF-8?q?=D1=91=20=D0=BA=D0=BB=D1=83=D0=B1=D0=BD=D0=B8=D1=87=D0=BD=D0=BE?= =?UTF-8?q?.=20=D0=9E=D1=81=D1=82=D0=B0=D0=BB=D0=BE=D1=81=D1=8C=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B4=D0=B5=D0=BB=D0=B0=D1=82=D1=8C=20=D1=84=D1=80=D0=BE?= =?UTF-8?q?=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 7 +- data.mv.db | Bin 24576 -> 24576 bytes .../controller/CreatorController.java | 3 +- .../controller/MangaController.java | 5 +- .../controller/ReaderController.java | 3 +- .../model/{ => Default}/Creator.java | 2 +- .../MangaStore/model/{ => Default}/Manga.java | 2 +- .../model/{ => Default}/Reader.java | 3 +- .../{ => model}/Dto/CreatorDto.java | 6 +- .../MangaStore/{ => model}/Dto/MangaDto.java | 8 +- .../MangaStore/{ => model}/Dto/ReaderDto.java | 6 +- .../MangaStore/service/CreatorService.java | 7 +- .../app/MangaStore/service/MangaService.java | 11 +- .../app/MangaStore/service/ReaderService.java | 16 ++- .../Repository}/CreatorRepository.java | 4 +- .../Repository}/MangaRepository.java | 4 +- .../Repository}/ReaderRepository.java | 4 +- .../util/validation/ValidatorUtil.java | 8 +- .../java/com/LabWork/app/ReMangaTest.java | 117 +++++++++++++----- 19 files changed, 139 insertions(+), 77 deletions(-) rename src/main/java/com/LabWork/app/MangaStore/model/{ => Default}/Creator.java (97%) rename src/main/java/com/LabWork/app/MangaStore/model/{ => Default}/Manga.java (97%) rename src/main/java/com/LabWork/app/MangaStore/model/{ => Default}/Reader.java (97%) rename src/main/java/com/LabWork/app/MangaStore/{ => model}/Dto/CreatorDto.java (81%) rename src/main/java/com/LabWork/app/MangaStore/{ => model}/Dto/MangaDto.java (79%) rename src/main/java/com/LabWork/app/MangaStore/{ => model}/Dto/ReaderDto.java (80%) rename src/main/java/com/LabWork/app/MangaStore/{repository => service/Repository}/CreatorRepository.java (55%) rename src/main/java/com/LabWork/app/MangaStore/{repository => service/Repository}/MangaRepository.java (55%) rename src/main/java/com/LabWork/app/MangaStore/{repository => service/Repository}/ReaderRepository.java (55%) diff --git a/build.gradle b/build.gradle index f005ce5..742e6dc 100644 --- a/build.gradle +++ b/build.gradle @@ -11,12 +11,15 @@ sourceCompatibility = '17' repositories { mavenCentral() } - +jar { + enabled = false +} dependencies { + implementation 'org.hibernate.validator:hibernate-validator' + implementation 'org.springdoc:springdoc-openapi-ui:1.6.5' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'com.h2database:h2:2.1.210' - implementation group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final' implementation group: 'org.springdoc', name: 'springdoc-openapi-ui', version: '1.6.5' testImplementation 'org.springframework.boot:spring-boot-starter-test' } diff --git a/data.mv.db b/data.mv.db index 0f9f14b9eaad31c0a513256c8f0ba238a51b305f..cb536ab95873264e3a552383212291bca066b0c4 100644 GIT binary patch literal 24576 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 delta 1704 zcmd6o%WD%s9LHx8o203aqQytCHQGkBEOB1@$e!wxA}ZGUs3OQ@v)k6DNgqk6qBIAO zz6bQ6g5brQg#H2c;6cQLg5br2p1g?%!Glnp-A#7m3)GW2%x^L<%*^-u`Tn-L2&;>5 z%YaFgT%lx*o6N66W9MxXBZL%dv{D>5>5ZOD2UVPcUA9K;Y15+E&~uC=Yg5-&-Keg( z*`8eguUk{`WA(#{Qm~6ARwnqQnU&+5$uLri_FUPd$|N7LXXO2+OQo{O;$HARR0N@CG4k9s-z#Ll^)@VXC5Y15sC)6z0IMQ*# za5zy3VhNk)Y(#XHa2V4O%NnA_2E`)TD()P~h=HS<#Z#5H0RVa<47NZ3#mm%&jq;F( z(Yq1Y4qD{hGsGLIH!|^}zdIf)@(DY0M%+I!Ai9P(i7&%lt5&*eW~G=f9Vm@tuvmZc zNhc&Q3pHp!3RS2>CJ)*ly%hz^fOx&9Yd6G6|K&zrMfEA+hTT|YjL02T0Q#=VEA<0# zX_x#j>y^W@%HQXGwW(~|%~ZTMkUZ2aaMxgYlvf>1DtJg#Q!(*%M|@+05c-oz*b;c} z+O*+$qH2cadqS`gm_j^L2*a)^E2Jsl5r~172!IhO;Dgn2;XQl|K?{g`z)3meds_wc z@xx+i&$@YPAf+%iYajMVApeF*rC6D<^E=DO16)D@>fk6P%c@NBqIJ$hJd}L<51RY$ zCEVh^)_u=hg#kEz`MF<=Y_7*G!bOpUDMV1I|?AexR|0g>flIK^9(7OBBraRzrbW$&H%IMgRT z3_TZ1$9N2YWN+)|g{qcHZi_ChY>mJah`Gtb$S?SpIqZRaVerIR_`CSQZt-Tg3zCI5 zCn@ZP47$$VZg--R)drXKN<2RAHu1TA{;yk>&!Xun^dpue&@AX@%~(43>L-Vu7DUhK zO$q-Fej?|8mB>FjGl*;RnN&u>GneXl%={@LJl~i)3`@Pd?(@n^#2WCaQ!ey_=*13M f0a$k7dTr{pY(KGdNLGWzrmqXvB#XI_MVR~s(B mangas; diff --git a/src/main/java/com/LabWork/app/MangaStore/Dto/CreatorDto.java b/src/main/java/com/LabWork/app/MangaStore/model/Dto/CreatorDto.java similarity index 81% rename from src/main/java/com/LabWork/app/MangaStore/Dto/CreatorDto.java rename to src/main/java/com/LabWork/app/MangaStore/model/Dto/CreatorDto.java index d63c5ac..625a3df 100644 --- a/src/main/java/com/LabWork/app/MangaStore/Dto/CreatorDto.java +++ b/src/main/java/com/LabWork/app/MangaStore/model/Dto/CreatorDto.java @@ -1,7 +1,7 @@ -package com.LabWork.app.MangaStore.Dto; +package com.LabWork.app.MangaStore.model.Dto; -import com.LabWork.app.MangaStore.model.Creator; -import com.LabWork.app.MangaStore.model.Manga; +import com.LabWork.app.MangaStore.model.Default.Creator; +import com.LabWork.app.MangaStore.model.Default.Manga; import java.util.List; public class CreatorDto { diff --git a/src/main/java/com/LabWork/app/MangaStore/Dto/MangaDto.java b/src/main/java/com/LabWork/app/MangaStore/model/Dto/MangaDto.java similarity index 79% rename from src/main/java/com/LabWork/app/MangaStore/Dto/MangaDto.java rename to src/main/java/com/LabWork/app/MangaStore/model/Dto/MangaDto.java index b5a2662..959d867 100644 --- a/src/main/java/com/LabWork/app/MangaStore/Dto/MangaDto.java +++ b/src/main/java/com/LabWork/app/MangaStore/model/Dto/MangaDto.java @@ -1,8 +1,8 @@ -package com.LabWork.app.MangaStore.Dto; +package com.LabWork.app.MangaStore.model.Dto; -import com.LabWork.app.MangaStore.model.Creator; -import com.LabWork.app.MangaStore.model.Manga; -import com.LabWork.app.MangaStore.model.Reader; +import com.LabWork.app.MangaStore.model.Default.Creator; +import com.LabWork.app.MangaStore.model.Default.Manga; +import com.LabWork.app.MangaStore.model.Default.Reader; import java.util.List; public class MangaDto { diff --git a/src/main/java/com/LabWork/app/MangaStore/Dto/ReaderDto.java b/src/main/java/com/LabWork/app/MangaStore/model/Dto/ReaderDto.java similarity index 80% rename from src/main/java/com/LabWork/app/MangaStore/Dto/ReaderDto.java rename to src/main/java/com/LabWork/app/MangaStore/model/Dto/ReaderDto.java index 95043ca..65e604b 100644 --- a/src/main/java/com/LabWork/app/MangaStore/Dto/ReaderDto.java +++ b/src/main/java/com/LabWork/app/MangaStore/model/Dto/ReaderDto.java @@ -1,7 +1,7 @@ -package com.LabWork.app.MangaStore.Dto; +package com.LabWork.app.MangaStore.model.Dto; -import com.LabWork.app.MangaStore.model.Manga; -import com.LabWork.app.MangaStore.model.Reader; +import com.LabWork.app.MangaStore.model.Default.Manga; +import com.LabWork.app.MangaStore.model.Default.Reader; import java.util.List; public class ReaderDto { diff --git a/src/main/java/com/LabWork/app/MangaStore/service/CreatorService.java b/src/main/java/com/LabWork/app/MangaStore/service/CreatorService.java index 8465064..69c6206 100644 --- a/src/main/java/com/LabWork/app/MangaStore/service/CreatorService.java +++ b/src/main/java/com/LabWork/app/MangaStore/service/CreatorService.java @@ -1,7 +1,7 @@ package com.LabWork.app.MangaStore.service; -import com.LabWork.app.MangaStore.model.Creator; -import com.LabWork.app.MangaStore.repository.CreatorRepository; +import com.LabWork.app.MangaStore.model.Default.Creator; +import com.LabWork.app.MangaStore.service.Repository.CreatorRepository; import com.LabWork.app.MangaStore.service.Exception.CreatorNotFoundException; import com.LabWork.app.MangaStore.util.validation.ValidatorUtil; import org.springframework.stereotype.Service; @@ -15,7 +15,8 @@ public class CreatorService { private final ValidatorUtil validatorUtil; - public CreatorService(CreatorRepository creatorRepository, ValidatorUtil validatorUtil) { + public CreatorService(CreatorRepository creatorRepository, + ValidatorUtil validatorUtil) { this.creatorRepository = creatorRepository; this.validatorUtil = validatorUtil; } diff --git a/src/main/java/com/LabWork/app/MangaStore/service/MangaService.java b/src/main/java/com/LabWork/app/MangaStore/service/MangaService.java index 8d75f05..cbec7fe 100644 --- a/src/main/java/com/LabWork/app/MangaStore/service/MangaService.java +++ b/src/main/java/com/LabWork/app/MangaStore/service/MangaService.java @@ -1,9 +1,9 @@ package com.LabWork.app.MangaStore.service; -import com.LabWork.app.MangaStore.model.Creator; -import com.LabWork.app.MangaStore.model.Manga; -import com.LabWork.app.MangaStore.repository.CreatorRepository; -import com.LabWork.app.MangaStore.repository.MangaRepository; +import com.LabWork.app.MangaStore.model.Default.Creator; +import com.LabWork.app.MangaStore.model.Default.Manga; +import com.LabWork.app.MangaStore.service.Repository.CreatorRepository; +import com.LabWork.app.MangaStore.service.Repository.MangaRepository; import com.LabWork.app.MangaStore.service.Exception.CreatorNotFoundException; import com.LabWork.app.MangaStore.service.Exception.MangaNotFoundException; import com.LabWork.app.MangaStore.util.validation.ValidatorUtil; @@ -19,7 +19,8 @@ public class MangaService { public final CreatorRepository creatorRepository; private final ValidatorUtil validatorUtil; - public MangaService(MangaRepository mangaRepository, CreatorRepository creatorRepository, ValidatorUtil validatorUtil) { + public MangaService(MangaRepository mangaRepository, CreatorRepository creatorRepository, + ValidatorUtil validatorUtil) { this.mangaRepository = mangaRepository; this.creatorRepository = creatorRepository; this.validatorUtil = validatorUtil; diff --git a/src/main/java/com/LabWork/app/MangaStore/service/ReaderService.java b/src/main/java/com/LabWork/app/MangaStore/service/ReaderService.java index 3eff223..6d53653 100644 --- a/src/main/java/com/LabWork/app/MangaStore/service/ReaderService.java +++ b/src/main/java/com/LabWork/app/MangaStore/service/ReaderService.java @@ -1,15 +1,14 @@ package com.LabWork.app.MangaStore.service; -import com.LabWork.app.MangaStore.model.Manga; -import com.LabWork.app.MangaStore.model.Reader; -import com.LabWork.app.MangaStore.repository.MangaRepository; -import com.LabWork.app.MangaStore.repository.ReaderRepository; +import com.LabWork.app.MangaStore.model.Default.Manga; +import com.LabWork.app.MangaStore.model.Default.Reader; +import com.LabWork.app.MangaStore.service.Repository.MangaRepository; +import com.LabWork.app.MangaStore.service.Repository.ReaderRepository; import com.LabWork.app.MangaStore.service.Exception.MangaNotFoundException; import com.LabWork.app.MangaStore.service.Exception.ReaderNotFoundException; import com.LabWork.app.MangaStore.util.validation.ValidatorUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StringUtils; import java.util.List; import java.util.Optional; @@ -21,7 +20,8 @@ public class ReaderService { private final MangaRepository mangaRepository; private final ValidatorUtil validatorUtil; - public ReaderService(ReaderRepository readerRepository, MangaRepository mangaRepository, ValidatorUtil validatorUtil) { + public ReaderService(ReaderRepository readerRepository, MangaRepository mangaRepository, + ValidatorUtil validatorUtil) { this.readerRepository = readerRepository; this.mangaRepository = mangaRepository; this.validatorUtil = validatorUtil; @@ -85,11 +85,9 @@ public class ReaderService { @Transactional public Reader deleteReader(Long id) { final Reader currentReader = findReader(id); -/* for (Manga manga : currentReader.getMangas()){ + for (Manga manga : currentReader.getMangas()){ manga.getReaders().remove(currentReader); } - em.merge(currentReader); - em.remove(currentReader);*/ readerRepository.delete(currentReader); return currentReader; } diff --git a/src/main/java/com/LabWork/app/MangaStore/repository/CreatorRepository.java b/src/main/java/com/LabWork/app/MangaStore/service/Repository/CreatorRepository.java similarity index 55% rename from src/main/java/com/LabWork/app/MangaStore/repository/CreatorRepository.java rename to src/main/java/com/LabWork/app/MangaStore/service/Repository/CreatorRepository.java index ff36da5..402ccc0 100644 --- a/src/main/java/com/LabWork/app/MangaStore/repository/CreatorRepository.java +++ b/src/main/java/com/LabWork/app/MangaStore/service/Repository/CreatorRepository.java @@ -1,6 +1,6 @@ -package com.LabWork.app.MangaStore.repository; +package com.LabWork.app.MangaStore.service.Repository; -import com.LabWork.app.MangaStore.model.Creator; +import com.LabWork.app.MangaStore.model.Default.Creator; import org.springframework.data.jpa.repository.JpaRepository; public interface CreatorRepository extends JpaRepository { diff --git a/src/main/java/com/LabWork/app/MangaStore/repository/MangaRepository.java b/src/main/java/com/LabWork/app/MangaStore/service/Repository/MangaRepository.java similarity index 55% rename from src/main/java/com/LabWork/app/MangaStore/repository/MangaRepository.java rename to src/main/java/com/LabWork/app/MangaStore/service/Repository/MangaRepository.java index 17fdcfa..f115309 100644 --- a/src/main/java/com/LabWork/app/MangaStore/repository/MangaRepository.java +++ b/src/main/java/com/LabWork/app/MangaStore/service/Repository/MangaRepository.java @@ -1,6 +1,6 @@ -package com.LabWork.app.MangaStore.repository; +package com.LabWork.app.MangaStore.service.Repository; -import com.LabWork.app.MangaStore.model.Manga; +import com.LabWork.app.MangaStore.model.Default.Manga; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/com/LabWork/app/MangaStore/repository/ReaderRepository.java b/src/main/java/com/LabWork/app/MangaStore/service/Repository/ReaderRepository.java similarity index 55% rename from src/main/java/com/LabWork/app/MangaStore/repository/ReaderRepository.java rename to src/main/java/com/LabWork/app/MangaStore/service/Repository/ReaderRepository.java index 952620e..1863ba6 100644 --- a/src/main/java/com/LabWork/app/MangaStore/repository/ReaderRepository.java +++ b/src/main/java/com/LabWork/app/MangaStore/service/Repository/ReaderRepository.java @@ -1,6 +1,6 @@ -package com.LabWork.app.MangaStore.repository; +package com.LabWork.app.MangaStore.service.Repository; -import com.LabWork.app.MangaStore.model.Reader; +import com.LabWork.app.MangaStore.model.Default.Reader; import org.springframework.data.jpa.repository.JpaRepository; public interface ReaderRepository extends JpaRepository { diff --git a/src/main/java/com/LabWork/app/MangaStore/util/validation/ValidatorUtil.java b/src/main/java/com/LabWork/app/MangaStore/util/validation/ValidatorUtil.java index edb2105..91242a5 100644 --- a/src/main/java/com/LabWork/app/MangaStore/util/validation/ValidatorUtil.java +++ b/src/main/java/com/LabWork/app/MangaStore/util/validation/ValidatorUtil.java @@ -2,10 +2,10 @@ package com.LabWork.app.MangaStore.util.validation; import org.springframework.stereotype.Component; -import javax.validation.ConstraintViolation; -import javax.validation.Validation; -import javax.validation.Validator; -import javax.validation.ValidatorFactory; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.Validation; +import jakarta.validation.Validator; +import jakarta.validation.ValidatorFactory; import java.util.Set; import java.util.stream.Collectors; diff --git a/src/test/java/com/LabWork/app/ReMangaTest.java b/src/test/java/com/LabWork/app/ReMangaTest.java index d6d4dc7..e122fcd 100644 --- a/src/test/java/com/LabWork/app/ReMangaTest.java +++ b/src/test/java/com/LabWork/app/ReMangaTest.java @@ -1,8 +1,8 @@ package com.LabWork.app; -import com.LabWork.app.MangaStore.model.Creator; -import com.LabWork.app.MangaStore.model.Manga; -import com.LabWork.app.MangaStore.model.Reader; +import com.LabWork.app.MangaStore.model.Default.Creator; +import com.LabWork.app.MangaStore.model.Default.Manga; +import com.LabWork.app.MangaStore.model.Default.Reader; import com.LabWork.app.MangaStore.service.CreatorService; import com.LabWork.app.MangaStore.service.MangaService; import com.LabWork.app.MangaStore.service.ReaderService; @@ -36,6 +36,9 @@ public class ReMangaTest { Assertions.assertEquals(c1.getCreatorName(), creatorService.findCreator(c1.getId()).getCreatorName()); Assertions.assertEquals(c1, creatorService.findCreator(c1.getId())); Assertions.assertEquals(2, creatorService.findAllCreators().size()); + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); } /* @Test @@ -94,6 +97,9 @@ public class ReMangaTest { Assertions.assertNotEquals(c1.getCreatorName(), c2.getCreatorName()); Assertions.assertEquals(c1.getHashedPassword(), c2.getHashedPassword()); Assertions.assertEquals(c3.getCreatorName(), c2.getCreatorName()); + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); } @Test @@ -106,6 +112,25 @@ public class ReMangaTest { creatorService.deleteCreator(c2.getId()); log.info(creatorService.findAllCreators().toString()); Assertions.assertEquals(1, creatorService.findAllCreators().size()); + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); + } + + @Test + void testCreatorMangaDelete() { + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); + Creator c1 = creatorService.addCreator("first", "1"); + Manga m1 = mangaService.addManga(c1.getId(), 0, "Vagabond"); + Manga m2 = mangaService.addManga(c1.getId(), 10, "Berserk"); + creatorService.deleteCreator(c1.getId()); + log.info(mangaService.findAllMangas().toString()); + Assertions.assertEquals(0, mangaService.findAllMangas().size()); + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); } @Test @@ -117,6 +142,9 @@ public class ReMangaTest { Creator c2 = creatorService.addCreator("second", "2"); creatorService.deleteAllCreators(); Assertions.assertEquals(0, creatorService.findAllCreators().size()); + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); } @Test @@ -125,13 +153,16 @@ public class ReMangaTest { mangaService.deleteAllMangas(); creatorService.deleteAllCreators(); Creator c1 = creatorService.addCreator("first", "1"); - Manga m1 = mangaService.addManga(c1, 0, "Vagabond"); - Manga m2 = mangaService.addManga(c1, 10, "Berserk"); + Manga m1 = mangaService.addManga(c1.getId(), 0, "Vagabond"); + Manga m2 = mangaService.addManga(c1.getId(), 10, "Berserk"); c1 = creatorService.findCreator(c1.getId()); m1 = mangaService.findManga(m1.getId()); log.info(c1.getMangas().toString()); Assertions.assertEquals(2, c1.getMangas().size()); Assertions.assertEquals(c1.getCreatorName(), m1.getCreator().getCreatorName()); + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); } @Test @@ -140,13 +171,16 @@ public class ReMangaTest { mangaService.deleteAllMangas(); creatorService.deleteAllCreators(); Creator c1 = creatorService.addCreator("first", "1"); - Manga m1 = mangaService.addManga(c1, 0, "Vagabond"); + Manga m1 = mangaService.addManga(c1.getId(), 0, "Vagabond"); Manga m2 = mangaService.updateManga(m1.getId(), 10); m2 = mangaService.findManga(m2.getId()); c1 = creatorService.findCreator(c1.getId()); Assertions.assertEquals(m1.getMangaName(), m2.getMangaName()); Assertions.assertNotEquals(m1.getChapterCount(), m2.getChapterCount()); Assertions.assertEquals(c1.getMangas().get(0).getChapterCount(), m2.getChapterCount()); + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); } @Test @@ -155,12 +189,12 @@ public class ReMangaTest { mangaService.deleteAllMangas(); creatorService.deleteAllCreators(); Creator c1 = creatorService.addCreator("first", "1"); - Manga m1 = mangaService.addManga(c1, 0, "Vagabond"); - Manga m2 = mangaService.addManga(c1, 10, "Berserk"); + Manga m1 = mangaService.addManga(c1.getId(), 0, "Vagabond"); + Manga m2 = mangaService.addManga(c1.getId(), 10, "Berserk"); Reader r1 = readerService.addReader("reader1", "password1"); - readerService.addManga(m1, r1.getId()); - readerService.addManga(m2, r1.getId()); + readerService.addManga(m1.getId(), r1.getId()); + readerService.addManga(m2.getId(), r1.getId()); mangaService.deleteManga(m1.getId()); r1 = readerService.findReader(r1.getId()); @@ -169,6 +203,9 @@ public class ReMangaTest { Assertions.assertEquals(1, mangaService.findAllMangas().size()); Assertions.assertEquals(1, r1.getMangas().size()); + mangaService.deleteAllMangas(); + readerService.deleteAllReaders(); + creatorService.deleteAllCreators(); } @Test @@ -177,10 +214,13 @@ public class ReMangaTest { mangaService.deleteAllMangas(); creatorService.deleteAllCreators(); Creator c1 = creatorService.addCreator("first", "1"); - Manga m1 = mangaService.addManga(c1, 0, "Vagabond"); - Manga m2 = mangaService.addManga(c1, 10, "Berserk"); + Manga m1 = mangaService.addManga(c1.getId(), 0, "Vagabond"); + Manga m2 = mangaService.addManga(c1.getId(), 10, "Berserk"); mangaService.deleteAllMangas(); Assertions.assertEquals(0, mangaService.findAllMangas().size()); + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); } @Test @@ -189,19 +229,23 @@ public class ReMangaTest { mangaService.deleteAllMangas(); creatorService.deleteAllCreators(); Creator c1 = creatorService.addCreator("first_C", "1"); - Manga m1 = mangaService.addManga(c1, 0, "vagabond"); - Manga m2 = mangaService.addManga(c1, 10, "Berserk"); + Manga m1 = mangaService.addManga(c1.getId(), 0, "vagabond"); + Manga m2 = mangaService.addManga(c1.getId(), 10, "Berserk"); Reader r1 = readerService.addReader("first_R", "1"); - readerService.addManga(m1, r1.getId()); - readerService.addManga(m2, r1.getId()); + readerService.addManga(m1.getId(), r1.getId()); + readerService.addManga(m2.getId(), r1.getId()); log.info(r1.getMangas().toString()); Reader r2 = readerService.findReader(r1.getId()); + Manga m3 = mangaService.findManga(m1.getId()); log.info(r2.getMangas().toString()); Assertions.assertEquals(2, r2.getMangas().size()); - Assertions.assertEquals(1, m1.getReaders().size()); + Assertions.assertEquals(1, m3.getReaders().size()); + mangaService.deleteAllMangas(); + readerService.deleteAllReaders(); + creatorService.deleteAllCreators(); } @Test @@ -218,6 +262,9 @@ public class ReMangaTest { Reader r3 = readerService.findReader(r2.getId()); Assertions.assertEquals(r2.getReaderName(), r3.getReaderName()); + readerService.deleteAllReaders(); + mangaService.deleteAllMangas(); + creatorService.deleteAllCreators(); } @Test @@ -226,21 +273,24 @@ public class ReMangaTest { mangaService.deleteAllMangas(); creatorService.deleteAllCreators(); Creator c1 = creatorService.addCreator("first_C", "1"); - Manga m1 = mangaService.addManga(c1, 0, "Vagabond"); - Manga m2 = mangaService.addManga(c1, 10, "Berserk"); + Manga m1 = mangaService.addManga(c1.getId(), 0, "Vagabond"); + Manga m2 = mangaService.addManga(c1.getId(), 10, "Berserk"); Reader r1 = readerService.addReader("first_R", "1"); - readerService.addManga(m1, r1.getId()); - readerService.addManga(m2, r1.getId()); + readerService.addManga(m1.getId(), r1.getId()); + readerService.addManga(m2.getId(), r1.getId()); Reader r11 = readerService.findReader(r1.getId()); - readerService.removeManga(m1, r11.getId()); + readerService.removeManga(m1.getId(), r11.getId()); Reader r12 = readerService.findReader(r11.getId()); Manga m11 = mangaService.findManga(m1.getId()); Assertions.assertEquals(1, r12.getMangas().size()); log.info(mangaService.findAllMangas().toString()); log.info(r12.getMangas().toString()); + mangaService.deleteAllMangas(); + readerService.deleteAllReaders(); + creatorService.deleteAllCreators(); } @Test @@ -249,12 +299,13 @@ public class ReMangaTest { mangaService.deleteAllMangas(); creatorService.deleteAllCreators(); Creator c1 = creatorService.addCreator("first_C", "1"); - Manga m1 = mangaService.addManga(c1, 0, "Vagabond"); - Manga m2 = mangaService.addManga(c1, 10, "Berserk"); + Manga m1 = mangaService.addManga(c1.getId(), 0, "Vagabond"); + Manga m2 = mangaService.addManga(c1.getId(), 10, "Berserk"); Reader r1 = readerService.addReader("first_R", "1"); + Reader r2 = readerService.addReader("2_R", "2"); - readerService.addManga(m1, r1.getId()); - readerService.addManga(m2, r1.getId()); + readerService.addManga(m1.getId(), r1.getId()); + readerService.addManga(m2.getId(), r1.getId()); Reader r11 = readerService.findReader(r1.getId()); readerService.deleteReader(r11.getId()); @@ -263,6 +314,9 @@ public class ReMangaTest { log.info(readerService.findAllReaders().toString()); log.info(m11.getReaders().toString()); Assertions.assertEquals(0, m11.getReaders().size()); + mangaService.deleteAllMangas(); + readerService.deleteAllReaders(); + creatorService.deleteAllCreators(); } @Test @@ -271,17 +325,20 @@ public class ReMangaTest { mangaService.deleteAllMangas(); creatorService.deleteAllCreators(); Creator c1 = creatorService.addCreator("first_C", "1"); - Manga m1 = mangaService.addManga(c1, 0, "Vagabond"); - Manga m2 = mangaService.addManga(c1, 10, "Berserk"); + Manga m1 = mangaService.addManga(c1.getId(), 0, "Vagabond"); + Manga m2 = mangaService.addManga(c1.getId(), 10, "Berserk"); Reader r1 = readerService.addReader("first_R", "1"); - readerService.addManga(m1, r1.getId()); - readerService.addManga(m2, r1.getId()); + readerService.addManga(m1.getId(), r1.getId()); + readerService.addManga(m2.getId(), r1.getId()); Reader r11 = readerService.updateReader(r1.getId(), "reader", "password"); r11 = readerService.findReader(r11.getId()); m1 = mangaService.findManga(m1.getId()); Assertions.assertNotEquals(r11.getReaderName(), r1.getReaderName()); Assertions.assertEquals(r11.getReaderName(), m1.getReaders().get(0).getReaderName()); + mangaService.deleteAllMangas(); + readerService.deleteAllReaders(); + creatorService.deleteAllCreators(); } }