diff --git a/src/test/java/com/lucasia/ginquiry/dao/BoozeRepositoryTest.java b/src/test/java/com/lucasia/ginquiry/dao/BoozeRepositoryTest.java deleted file mode 100644 index 7c0ac94..0000000 --- a/src/test/java/com/lucasia/ginquiry/dao/BoozeRepositoryTest.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.lucasia.ginquiry.dao; - -import com.lucasia.ginquiry.domain.Booze; -import com.lucasia.ginquiry.domain.Brand; -import com.lucasia.ginquiry.domain.DomainFactory; -import lombok.extern.log4j.Log4j2; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; -import org.springframework.dao.DataIntegrityViolationException; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.util.UUID; - -import static org.hamcrest.CoreMatchers.hasItem; - -@DataJpaTest -@Log4j2 -public class BoozeRepositoryTest extends AbstractRepositoryTest{ - - @Autowired - private BrandRepository brandRepository; - - @Autowired - private BoozeRepository boozeRepository; - - public BoozeRepositoryTest() { - super(new DomainFactory.BoozeDomainFactory(new Brand(UUID.randomUUID().toString()))); - } - - @Override - public BoozeRepository getRepository() { - return boozeRepository; - } - - - @Override - public void saveEntity(Booze entity) { - brandRepository.saveAndFlush(entity.getBrand()); - boozeRepository.saveAndFlush(entity); - } - - - @Test - @Transactional(propagation = Propagation.NOT_SUPPORTED) - public void testSavingEntityWithSameNameThrowsException() { - final Brand brand = new Brand(UUID.randomUUID().toString()); - Booze booze = new Booze(brand, UUID.randomUUID().toString(), UUID.randomUUID().toString()); - - brandRepository.saveAndFlush(brand); - boozeRepository.saveAndFlush(booze); - - boozeRepository.flush(); - - // ensure uniqueness - final Booze boozeSameName = new Booze(brand, booze.getName(), UUID.randomUUID().toString()); - - Assertions.assertThrows(DataIntegrityViolationException.class, () -> boozeRepository.save(boozeSameName)); - } -} diff --git a/src/test/java/com/lucasia/ginquiry/dao/BoozeRepositoryTest.kt b/src/test/java/com/lucasia/ginquiry/dao/BoozeRepositoryTest.kt new file mode 100644 index 0000000..2ef1156 --- /dev/null +++ b/src/test/java/com/lucasia/ginquiry/dao/BoozeRepositoryTest.kt @@ -0,0 +1,72 @@ +package com.lucasia.ginquiry.dao + +import com.lucasia.ginquiry.domain.Booze +import com.lucasia.ginquiry.domain.Brand +import com.lucasia.ginquiry.domain.DomainFactory +import lombok.extern.log4j.Log4j2 +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest +import org.springframework.dao.DataIntegrityViolationException +import org.springframework.transaction.annotation.Propagation +import org.springframework.transaction.annotation.Transactional +import java.util.* + +@DataJpaTest +@Log4j2 +open class BoozeRepositoryTest : AbstractRepositoryTest(DomainFactory.BoozeDomainFactory(Brand(UUID.randomUUID().toString()))) { + + @Autowired + val brandRepository: BrandRepository? = null + + @Autowired + val boozeRepository: BoozeRepository? = null + + + override fun getRepository(): BoozeRepository? { + return boozeRepository + } + + + override fun saveEntity(entity: Booze?) { + brandRepository!!.saveAndFlush(entity?.brand) + boozeRepository!!.saveAndFlush(entity) + } + + + @Test + @Transactional(propagation = Propagation.NOT_SUPPORTED) + override fun testSavingEntityWithSameNameThrowsException() { + val brand: Brand = Brand(UUID.randomUUID().toString()) + val booze: Booze = Booze(brand, UUID.randomUUID().toString(), UUID.randomUUID().toString()) + + brandRepository!!.saveAndFlush(brand) + boozeRepository!!.saveAndFlush(booze) + + boozeRepository.flush() + + val boozeSameName: Booze = Booze(brand, booze.name, UUID.randomUUID().toString()) + Assertions.assertThrows(DataIntegrityViolationException::class.java) { boozeRepository.save(boozeSameName) } + + } + +/* + @Test + @Transactional(propagation = Propagation.NOT_SUPPORTED) + public void testSavingEntityWithSameNameThrowsException() { + final Brand brand = new Brand(UUID.randomUUID().toString()); + Booze booze = new Booze(brand, UUID.randomUUID().toString(), UUID.randomUUID().toString()); + + brandRepository.saveAndFlush(brand); + boozeRepository.saveAndFlush(booze); + + boozeRepository.flush(); + + // ensure uniqueness + final Booze boozeSameName = new Booze(brand, booze.getName(), UUID.randomUUID().toString()); + + Assertions.assertThrows(DataIntegrityViolationException.class, () -> boozeRepository.save(boozeSameName)); + } +*/ +} diff --git a/src/test/java/com/lucasia/ginquiry/dao/BrandRepositoryTest.java b/src/test/java/com/lucasia/ginquiry/dao/BrandRepositoryTest.java deleted file mode 100644 index 0d8f68f..0000000 --- a/src/test/java/com/lucasia/ginquiry/dao/BrandRepositoryTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.lucasia.ginquiry.dao; - -import com.lucasia.ginquiry.domain.Brand; -import com.lucasia.ginquiry.domain.DomainFactory; -import org.hamcrest.MatcherAssert; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.dao.DataIntegrityViolationException; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.UUID; - -import static org.hamcrest.CoreMatchers.hasItem; - -public class BrandRepositoryTest extends AbstractRepositoryTest{ - - @Autowired - private BrandRepository brandRepository; - - public BrandRepositoryTest() { - super(new DomainFactory.BrandDomainFactory()); - } - - @Override - public BrandRepository getRepository() { - return brandRepository; - } -} diff --git a/src/test/java/com/lucasia/ginquiry/dao/BrandRepositoryTest.kt b/src/test/java/com/lucasia/ginquiry/dao/BrandRepositoryTest.kt new file mode 100644 index 0000000..982e0ff --- /dev/null +++ b/src/test/java/com/lucasia/ginquiry/dao/BrandRepositoryTest.kt @@ -0,0 +1,15 @@ +package com.lucasia.ginquiry.dao; + +import com.lucasia.ginquiry.domain.Brand +import com.lucasia.ginquiry.domain.DomainFactory +import org.springframework.beans.factory.annotation.Autowired + +class BrandRepositoryTest : AbstractRepositoryTest(DomainFactory.BrandDomainFactory()) { + + @Autowired + val brandRepository: BrandRepository? = null + + override fun getRepository(): BrandRepository? { + return brandRepository; + } +} diff --git a/src/test/java/com/lucasia/ginquiry/dao/UserRepositoryTest.java b/src/test/java/com/lucasia/ginquiry/dao/UserRepositoryTest.java deleted file mode 100644 index 7d4437e..0000000 --- a/src/test/java/com/lucasia/ginquiry/dao/UserRepositoryTest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.lucasia.ginquiry.dao; - -import com.lucasia.ginquiry.domain.DomainFactory; -import com.lucasia.ginquiry.domain.User; -import org.springframework.beans.factory.annotation.Autowired; - -public class UserRepositoryTest extends AbstractRepositoryTest{ - - @Autowired - private UserRepository userRepository; - - public UserRepositoryTest() { - super(new DomainFactory.UserDomainFactory()); - } - - @Override - public UserRepository getRepository() { - return userRepository; - } - -} diff --git a/src/test/java/com/lucasia/ginquiry/dao/UserRepositoryTest.kt b/src/test/java/com/lucasia/ginquiry/dao/UserRepositoryTest.kt new file mode 100644 index 0000000..c174124 --- /dev/null +++ b/src/test/java/com/lucasia/ginquiry/dao/UserRepositoryTest.kt @@ -0,0 +1,16 @@ +package com.lucasia.ginquiry.dao; + +import com.lucasia.ginquiry.domain.DomainFactory +import com.lucasia.ginquiry.domain.User +import org.springframework.beans.factory.annotation.Autowired + +class UserRepositoryTest : AbstractRepositoryTest(DomainFactory.UserDomainFactory()) { + + @Autowired + val userRepository: UserRepository? = null + + override fun getRepository() : UserRepository? { + return userRepository + } + +}