Created
April 27, 2025 17:49
-
-
Save jay-babu/2f3b0306834b8314b246fc796d659d81 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/pom.xml b/pom.xml | |
index 95003dfe..85c72ffe 100644 | |
--- a/pom.xml | |
+++ b/pom.xml | |
@@ -6,7 +6,7 @@ | |
<parent> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-parent</artifactId> | |
- <version>3.3.11</version> | |
+ <version>3.4.5</version> | |
<relativePath /> <!-- lookup parent from repository --> | |
</parent> | |
<groupId>com.transformity</groupId> | |
@@ -273,7 +273,7 @@ | |
<dependency> | |
<groupId>org.springdoc</groupId> | |
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> | |
- <version>2.6.0</version> | |
+ <version>2.8.6</version> | |
</dependency> | |
<dependency> | |
diff --git a/src/main/java/com/transformity/pos/mappers/model/EntityItemMapper.java b/src/main/java/com/transformity/pos/mappers/model/EntityItemMapper.java | |
index 6daeef03..242c03bc 100644 | |
--- a/src/main/java/com/transformity/pos/mappers/model/EntityItemMapper.java | |
+++ b/src/main/java/com/transformity/pos/mappers/model/EntityItemMapper.java | |
@@ -2,6 +2,7 @@ package com.transformity.pos.mappers.model; | |
import com.transformity.pos.cohort.item.CohortItemGetMapper; | |
import com.transformity.pos.cohort.item.CohortItemMapper; | |
+import com.transformity.pos.cohort.item.vintage.CohortItemVintageDB; | |
import com.transformity.pos.cohort.item.vintage.CohortItemVintageMapper; | |
import com.transformity.pos.cohort.vendor.CohortVendorMapper; | |
import com.transformity.pos.database.model.EntityItemDB; | |
@@ -13,6 +14,7 @@ import com.transformity.pos.model.EntityItemDetail; | |
import com.transformity.pos.model.ItemDetails; | |
import com.transformity.pos.model.ItemWithStateMin; | |
import com.transformity.pos.model.ItemWithStateMinAllOfStateMinViolationsValueValue; | |
+import earth.adi.typeid.Id; | |
import jakarta.inject.Inject; | |
import jakarta.validation.constraints.NotNull; | |
import java.util.List; | |
diff --git a/src/main/kotlin/com/transformity/pos/TransformityPosBackendServiceApplication.kt b/src/main/kotlin/com/transformity/pos/TransformityPosBackendServiceApplication.kt | |
index e0d8713e..e288c6a7 100644 | |
--- a/src/main/kotlin/com/transformity/pos/TransformityPosBackendServiceApplication.kt | |
+++ b/src/main/kotlin/com/transformity/pos/TransformityPosBackendServiceApplication.kt | |
@@ -2,12 +2,14 @@ package com.transformity.pos | |
import com.fasterxml.jackson.annotation.JsonIgnoreProperties | |
import com.fasterxml.jackson.databind.JavaType | |
+import com.fasterxml.jackson.databind.MapperFeature | |
import com.fasterxml.jackson.databind.Module | |
import com.fasterxml.jackson.databind.ObjectMapper | |
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule | |
import com.fasterxml.jackson.module.kotlin.kotlinModule | |
import com.google.gson.Gson | |
import com.transformity.pos.cohort.vendor.CohortVendorDB | |
+import com.transformity.pos.config.TypeIdReadingConverter | |
import com.transformity.pos.context.provider.AuthenticationSupplier | |
import com.transformity.pos.database.events.EventContextInterceptor | |
import com.transformity.pos.database.model.CohortDB | |
@@ -22,6 +24,7 @@ import com.transformity.pos.inventory.transfer.InventoryTransferItemDB | |
import com.transformity.pos.item.type.database.ItemType | |
import com.transformity.pos.pricing.database.model.CohortPriceLevelDB | |
import com.transformity.pos.purchaseOrder.transfer.PurchaseOrderItemTransferDB | |
+import earth.adi.typeid.TypeId | |
import io.swagger.v3.core.converter.ModelConverter | |
import io.swagger.v3.core.converter.ModelConverters | |
import io.swagger.v3.core.util.Json | |
@@ -57,6 +60,7 @@ import java.time.OffsetTime | |
import java.time.ZoneId | |
import java.util.Optional | |
import java.util.TimeZone | |
+import org.springframework.format.FormatterRegistry | |
@JsonIgnoreProperties("hibernateLazyInitializer", "handler") | |
private abstract class IgnoreHibernatePropertiesInJackson | |
@@ -70,6 +74,10 @@ class TransformityPosBackendServiceApplication { | |
@Bean | |
fun corsConfigurer(eventContextInterceptor: EventContextInterceptor): WebMvcConfigurer { | |
return object : WebMvcConfigurer { | |
+ override fun addFormatters(registry: FormatterRegistry) { | |
+ registry.addConverter(TypeIdReadingConverter()) | |
+ } | |
+ | |
override fun addCorsMappings(registry: CorsRegistry) { | |
// Initial allowed origin patterns | |
@@ -96,7 +104,12 @@ class TransformityPosBackendServiceApplication { | |
return Jackson2ObjectMapperBuilderCustomizer { jacksonObjectMapperBuilder: Jackson2ObjectMapperBuilder -> | |
jacksonObjectMapperBuilder.modules { l: MutableList<Module> -> | |
l.addAll( | |
- listOf(JsonNullableModule(), JavaTimeModule(), kotlinModule()), | |
+ listOf( | |
+ JsonNullableModule(), | |
+ JavaTimeModule(), | |
+ kotlinModule(), | |
+ TypeId.jacksonModule(), | |
+ ), | |
) | |
} | |
} | |
diff --git a/src/main/kotlin/com/transformity/pos/cohort/item/CohortItemMapper.kt b/src/main/kotlin/com/transformity/pos/cohort/item/CohortItemMapper.kt | |
index e3b19d93..5a9ad59c 100644 | |
--- a/src/main/kotlin/com/transformity/pos/cohort/item/CohortItemMapper.kt | |
+++ b/src/main/kotlin/com/transformity/pos/cohort/item/CohortItemMapper.kt | |
@@ -3,7 +3,6 @@ package com.transformity.pos.cohort.item | |
import com.transformity.pos.cohort.department.mapper.DepartmentMapper | |
import com.transformity.pos.cohort.item.vendor.CohortItemVendorItemDB | |
import com.transformity.pos.cohort.vendor.CohortVendorRepository | |
-import com.transformity.pos.config.exceptions.BadRequestException | |
import com.transformity.pos.config.exceptions.NotFoundException | |
import com.transformity.pos.database.model.CohortItemBarcode | |
import com.transformity.pos.database.model.CohortItemDB | |
@@ -31,8 +30,10 @@ import com.transformity.pos.model.UpdateItemOptions | |
import com.transformity.pos.pricing.database.model.CohortPriceLevelItemDB | |
import com.transformity.pos.pricing.mapper.CohortPriceLevelItemMapper | |
import com.transformity.pos.pricing.service.CohortPriceLevelService | |
+import earth.adi.typeid.Id | |
import io.micrometer.common.util.StringUtils.isBlank | |
import jakarta.inject.Inject | |
+import java.time.Instant | |
import org.mapstruct.AfterMapping | |
import org.mapstruct.BeanMapping | |
import org.mapstruct.Context | |
@@ -45,7 +46,6 @@ import org.mapstruct.MappingTarget | |
import org.mapstruct.Named | |
import org.mapstruct.NullValueCheckStrategy | |
import org.mapstruct.NullValuePropertyMappingStrategy | |
-import java.time.Instant | |
@Mapper( | |
uses = [ | |
@@ -76,6 +76,10 @@ abstract class CohortItemMapper { | |
@set:Inject lateinit var cohortVendorRepository: CohortVendorRepository | |
+ fun map(value: Id<*>): String { | |
+ return value.toString() | |
+ } | |
+ | |
@Mapping(target = "vintage", ignore = true) | |
@Mapping(target = "vendorPricing", source = "vendorItemMappingSet") | |
@Mapping(target = "twoMonthAgoSold", ignore = true) | |
diff --git a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageAuthorization.kt b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageAuthorization.kt | |
index 18c6e4f7..8ed186b0 100644 | |
--- a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageAuthorization.kt | |
+++ b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageAuthorization.kt | |
@@ -38,17 +38,17 @@ class CohortItemVintageAuthorization @Inject constructor( | |
return hasCohortItemVintagePermission(cohortItemId, "civin/*:create") | |
} | |
- fun hasUpdateCohortItemVintage(cohortItemVintageId: String): Boolean { | |
+ fun hasUpdateCohortItemVintage(cohortItemVintageId: CohortItemVintageId): Boolean { | |
val cohortItem = getCohortItemByVintageId(cohortItemVintageId) | |
return hasCohortItemVintagePermission(cohortItem.id, "civin/*:update") | |
} | |
- fun hasDeleteCohortItemVintage(cohortItemVintageId: String): Boolean { | |
+ fun hasDeleteCohortItemVintage(cohortItemVintageId: CohortItemVintageId): Boolean { | |
val cohortItem = getCohortItemByVintageId(cohortItemVintageId) | |
return hasCohortItemVintagePermission(cohortItem.id, "civin/*:delete") | |
} | |
- private fun getCohortItemByVintageId(cohortItemVintageId: String): CohortItemDB { | |
+ private fun getCohortItemByVintageId(cohortItemVintageId: CohortItemVintageId): CohortItemDB { | |
val cohortItemVintage = cohortItemVintageRepository.findById(cohortItemVintageId).orElseThrow { | |
NotFoundException("Cohort Item Vintage with id $cohortItemVintageId not found") | |
} | |
diff --git a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageController.kt b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageController.kt | |
index e4e140e2..97da90e4 100644 | |
--- a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageController.kt | |
+++ b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageController.kt | |
@@ -71,7 +71,7 @@ class CohortItemVintageController @Inject constructor( | |
@PreAuthorize("@cohortIdAuthorization.authorize(#cohortId)") | |
fun searchCohortItemVintages( | |
@RequestParam(required = true) cohortId: Long, | |
- @RequestParam(required = false) ids: Set<String>? = null, | |
+ @RequestParam(required = false) ids: Set<CohortItemVintageId>? = null, | |
@RequestParam(required = false) cohortItemIds: Set<Long>? = null, | |
@RequestParam(required = false) vintages: Set<String>? = null, | |
@RequestParam(required = false) ratings: Set<String>? = null, | |
@@ -96,7 +96,7 @@ class CohortItemVintageController @Inject constructor( | |
@Transactional(timeout = 5) | |
@PreAuthorize("@cohortItemVintageAuthorization.hasDeleteCohortItemVintage(#id)") | |
@Operation(operationId = "deleteCohortItemVintage") | |
- fun deleteCohortItemVintageById(@PathVariable id: String): ResponseEntity<Void> { | |
+ fun deleteCohortItemVintageById(@PathVariable id: CohortItemVintageId): ResponseEntity<Void> { | |
if (entityItemRepository.existsByCohortItemVintage_Id(id)) { | |
throw BadRequestException("Cohort Item Vintage is in use.") | |
} | |
diff --git a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageDB.kt b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageDB.kt | |
index 8153e775..3f0a46bc 100644 | |
--- a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageDB.kt | |
+++ b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageDB.kt | |
@@ -1,9 +1,11 @@ | |
package com.transformity.pos.cohort.item.vintage | |
import com.fasterxml.jackson.annotation.JsonIgnore | |
+import com.transformity.pos.config.TypeIdProvider | |
import com.transformity.pos.database.generator.TransformityId | |
import com.transformity.pos.database.model.CohortItemDB | |
import earth.adi.typeid.annotations.TypeIdPrefix | |
+import earth.adi.typeid.typeId | |
import jakarta.persistence.Column | |
import jakarta.persistence.Entity | |
import jakarta.persistence.FetchType | |
@@ -17,6 +19,9 @@ import org.hibernate.generator.EventType | |
import org.hibernate.proxy.HibernateProxy | |
import java.time.Instant | |
+// Define a typealias for the user id. | |
+typealias CohortItemVintageId = earth.adi.typeid.Id<out CohortItemVintageDB> | |
+ | |
@Entity | |
@Table(name = "cohort_item_vintage") | |
@TypeIdPrefix("civin") | |
@@ -26,8 +31,7 @@ class CohortItemVintageDB( | |
var vintage: String, | |
) { | |
@Id | |
- @TransformityId | |
- var id: String = "" | |
+ var id: CohortItemVintageId = TypeIdProvider.instance.generate() | |
@JoinColumn(nullable = false, name = "cohort_item_id") | |
@ManyToOne(fetch = FetchType.LAZY) | |
@@ -71,7 +75,7 @@ class CohortItemVintageDB( | |
if (thisEffectiveClass != oEffectiveClass) return false | |
other as CohortItemVintageDB | |
- return id != "" && id == other.id | |
+ return id == other.id | |
} | |
final override fun hashCode(): Int = | |
diff --git a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageMapper.kt b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageMapper.kt | |
index 3823f5de..4afb3d9a 100644 | |
--- a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageMapper.kt | |
+++ b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageMapper.kt | |
@@ -1,7 +1,9 @@ | |
package com.transformity.pos.cohort.item.vintage | |
import com.transformity.pos.cohort.item.CohortItemGetMapper | |
+import com.transformity.pos.config.TypeIdProvider | |
import jakarta.inject.Inject | |
+import kotlin.jvm.java | |
import org.mapstruct.BeanMapping | |
import org.mapstruct.Mapper | |
import org.mapstruct.Mapping | |
@@ -18,6 +20,12 @@ abstract class CohortItemVintageMapper { | |
lateinit var cohortItemVintageRepository: CohortItemVintageRepository | |
fun findById(id: String?): CohortItemVintageDB? { | |
+ return id?.let { | |
+ findById(TypeIdProvider.instance.parse(CohortItemVintageDB::class.java, id)) | |
+ } | |
+ } | |
+ | |
+ fun findById(id: CohortItemVintageId?): CohortItemVintageDB? { | |
return id?.let { cohortItemVintageRepository.findById(it).orElse(null) } | |
} | |
diff --git a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageRepository.kt b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageRepository.kt | |
index aaa951b9..9253f292 100644 | |
--- a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageRepository.kt | |
+++ b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageRepository.kt | |
@@ -7,7 +7,7 @@ import org.springframework.data.jpa.repository.Query | |
import org.springframework.stereotype.Repository | |
@Repository | |
-interface CohortItemVintageRepository : JpaRepository<CohortItemVintageDB, String> { | |
+interface CohortItemVintageRepository : JpaRepository<CohortItemVintageDB, CohortItemVintageId> { | |
@Query( | |
""" | |
SELECT civin FROM CohortItemVintageDB civin | |
@@ -23,7 +23,7 @@ interface CohortItemVintageRepository : JpaRepository<CohortItemVintageDB, Strin | |
) | |
fun listCohortItemVintage( | |
cohortId: Long, | |
- ids: Set<String>?, | |
+ ids: Set<CohortItemVintageId>?, | |
cohortItemIds: Set<Long>?, | |
vintages: Set<String>?, | |
ratings: Set<String>?, | |
diff --git a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageRequestDto.kt b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageRequestDto.kt | |
index 23984b62..748418e7 100644 | |
--- a/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageRequestDto.kt | |
+++ b/src/main/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageRequestDto.kt | |
@@ -9,7 +9,7 @@ data class CohortItemVintageCreateRequest( | |
) | |
data class CohortItemVintagePutRequest( | |
- val id: String, | |
+ val id: CohortItemVintageId, | |
val cohortItemId: Long, | |
val vintage: String, | |
val version: Long, | |
diff --git a/src/main/kotlin/com/transformity/pos/config/TypeIdReadingConverter.kt b/src/main/kotlin/com/transformity/pos/config/TypeIdReadingConverter.kt | |
new file mode 100644 | |
index 00000000..5cc6676b | |
--- /dev/null | |
+++ b/src/main/kotlin/com/transformity/pos/config/TypeIdReadingConverter.kt | |
@@ -0,0 +1,23 @@ | |
+package com.transformity.pos.config | |
+ | |
+import earth.adi.typeid.Id | |
+import earth.adi.typeid.TypeId | |
+import org.springframework.core.convert.TypeDescriptor | |
+import org.springframework.core.convert.converter.GenericConverter | |
+import org.springframework.data.convert.ReadingConverter | |
+ | |
+@ReadingConverter | |
+class TypeIdReadingConverter: GenericConverter { | |
+ override fun getConvertibleTypes(): MutableSet<GenericConverter.ConvertiblePair> { | |
+ return mutableSetOf(GenericConverter.ConvertiblePair(String::class.java, Id::class.java)) | |
+ } | |
+ | |
+ override fun convert(source: Any?, sourceType: TypeDescriptor, targetType: TypeDescriptor): Any { | |
+ val entityType = targetType.resolvableType.resolveGenerics()[0] | |
+ if (targetType.type == Id::class.java) { | |
+ return TypeId.parse(entityType, source as String) | |
+ } else { | |
+ throw IllegalArgumentException("Unsupported targetType: $targetType") | |
+ } | |
+ } | |
+} | |
\ No newline at end of file | |
diff --git a/src/main/kotlin/com/transformity/pos/config/TypeIdWritingConverter.kt b/src/main/kotlin/com/transformity/pos/config/TypeIdWritingConverter.kt | |
new file mode 100644 | |
index 00000000..58674b1c | |
--- /dev/null | |
+++ b/src/main/kotlin/com/transformity/pos/config/TypeIdWritingConverter.kt | |
@@ -0,0 +1,12 @@ | |
+package com.transformity.pos.config | |
+ | |
+import earth.adi.typeid.Id | |
+import org.springframework.core.convert.converter.Converter | |
+import org.springframework.data.convert.WritingConverter | |
+ | |
+@WritingConverter | |
+class TypeIdWritingConverter : Converter<Id<*>, String> { | |
+ override fun convert(source: Id<*>): String { | |
+ return source.toString() | |
+ } | |
+} | |
\ No newline at end of file | |
diff --git a/src/main/kotlin/com/transformity/pos/database/model/EntityItemDB.kt b/src/main/kotlin/com/transformity/pos/database/model/EntityItemDB.kt | |
index 19e5993a..57822cc9 100644 | |
--- a/src/main/kotlin/com/transformity/pos/database/model/EntityItemDB.kt | |
+++ b/src/main/kotlin/com/transformity/pos/database/model/EntityItemDB.kt | |
@@ -2,6 +2,7 @@ package com.transformity.pos.database.model | |
import com.fasterxml.jackson.annotation.JsonIgnore | |
import com.transformity.pos.cohort.item.vintage.CohortItemVintageDB | |
+import com.transformity.pos.cohort.item.vintage.CohortItemVintageId | |
import com.transformity.pos.cohort.vendor.CohortVendorDB | |
import com.transformity.pos.entity.item.database.EntityItemListener | |
import com.transformity.pos.service.events.hibernatelifecycle.EventEmitterListener | |
@@ -134,7 +135,7 @@ class EntityItemDB( | |
} | |
@Column(name = "cohort_item_vintage_id", insertable = false, updatable = false) | |
- var cohortItemVintageId: String? = null | |
+ var cohortItemVintageId: CohortItemVintageId? = null | |
@Column(name = "last_cohort_vendor_id", insertable = false, updatable = false) | |
var lastCohortVendorId: Long? = null | |
diff --git a/src/main/kotlin/com/transformity/pos/database/repository/EntityItemRepository.kt b/src/main/kotlin/com/transformity/pos/database/repository/EntityItemRepository.kt | |
index fbc62f40..48a24da1 100644 | |
--- a/src/main/kotlin/com/transformity/pos/database/repository/EntityItemRepository.kt | |
+++ b/src/main/kotlin/com/transformity/pos/database/repository/EntityItemRepository.kt | |
@@ -1,5 +1,6 @@ | |
package com.transformity.pos.database.repository | |
+import com.transformity.pos.cohort.item.vintage.CohortItemVintageId | |
import com.transformity.pos.database.dto.MissingItemInCountDTO | |
import com.transformity.pos.database.dto.MultiItemTimeSeries | |
import com.transformity.pos.database.model.EntityEntity | |
@@ -25,7 +26,7 @@ interface EntityItemRepository : JpaRepository<EntityItemDB, Long> { | |
@EntityGraph(attributePaths = ["entity", "cohortItem", "cohortItem.department", "cohortItem.vendorItemMappingSet", "cohortItem.vendorItemMappingSet.vendorItem", "cohortItem.vendorItemMappingSet.vendorItem.vendorItemPriceList"]) | |
fun findAllByIdIn(ids: List<Long>): List<EntityItemDB> | |
- fun existsByCohortItemVintage_Id(id: String): Boolean | |
+ fun existsByCohortItemVintage_Id(id: CohortItemVintageId): Boolean | |
@Modifying | |
fun deleteByCohortItem_IdAndEntity_Id(cohortItemId: Long, entityId: Long): Int | |
diff --git a/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageAuthorizationTest.kt b/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageAuthorizationTest.kt | |
index df416e38..21bd25b7 100644 | |
--- a/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageAuthorizationTest.kt | |
+++ b/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageAuthorizationTest.kt | |
@@ -1,5 +1,6 @@ | |
package com.transformity.pos.cohort.item.vintage | |
+import com.transformity.pos.config.TypeIdProvider | |
import com.transformity.pos.config.auth.PermissionAuthorization | |
import com.transformity.pos.context.provider.AuthenticationSupplier | |
import com.transformity.pos.database.model.CohortItemDB | |
@@ -44,7 +45,7 @@ internal class CohortItemVintageAuthorizationTest { | |
private val testEntityId = 456L | |
private val testUserId = "testUser" | |
private val testCohortItemId = 789L | |
- private val testCohortItemVintageId = "vintage-1" | |
+ private val testCohortItemVintageId = TypeIdProvider.instance.generate(CohortItemVintageDB::class.java) | |
private val mockAuthentication = MockAuthentication() | |
@Nested | |
diff --git a/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageControllerIntegTest.kt b/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageControllerIntegTest.kt | |
index 31723140..2dc9c727 100644 | |
--- a/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageControllerIntegTest.kt | |
+++ b/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageControllerIntegTest.kt | |
@@ -12,11 +12,15 @@ import jakarta.inject.Inject | |
import org.assertj.core.api.Assertions | |
import org.assertj.core.api.Assertions.assertThatThrownBy | |
import org.junit.jupiter.api.Test | |
+import org.springframework.beans.factory.annotation.Autowired | |
import org.springframework.data.domain.PageRequest | |
import org.springframework.http.HttpStatus | |
import org.springframework.web.server.ResponseStatusException | |
class CohortItemVintageControllerIntegTest : BaseIntegrationTest() { | |
+ @Inject | |
+ private lateinit var cohortItemVintageRepository: CohortItemVintageRepository | |
+ | |
@Inject | |
private lateinit var mockRequestConfig: MockRequestConfig | |
@@ -66,8 +70,10 @@ class CohortItemVintageControllerIntegTest : BaseIntegrationTest() { | |
this.updatedAt = actualCohortItemVintage.updatedAt | |
this.version = 1L | |
} | |
+ val persistedCohortItemVintage = cohortItemVintageRepository.findById(actualCohortItemVintage.id).orElseThrow() | |
assertCohortItemVintageAssert(actualCohortItemVintage).isEqualToRecursively(expected) | |
+ assertCohortItemVintageAssert(persistedCohortItemVintage).isEqualToRecursively(expected) | |
} | |
@Test | |
@@ -132,7 +138,7 @@ class CohortItemVintageControllerIntegTest : BaseIntegrationTest() { | |
mockRequestConfig.scopeForUserInEntity(user.id, entity.id, listOf(TransformityGrantedAuthority(entity.id, "civin/*:update"))) | |
- val id = typeId().generate<CohortItemVintageDB>().toString() | |
+ val id = typeId().generate<CohortItemVintageDB>() | |
val request = CohortItemVintagePutRequest( | |
id, | |
Long.MAX_VALUE, | |
diff --git a/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageControllerTest.kt b/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageControllerTest.kt | |
index 58707d53..4047f135 100644 | |
--- a/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageControllerTest.kt | |
+++ b/src/test/kotlin/com/transformity/pos/cohort/item/vintage/CohortItemVintageControllerTest.kt | |
@@ -1,6 +1,7 @@ | |
package com.transformity.pos.cohort.item.vintage | |
import com.transformity.pos.database.repository.EntityItemRepository | |
+import earth.adi.typeid.TypeId | |
import io.mockk.every | |
import io.mockk.impl.annotations.InjectMockKs | |
import io.mockk.impl.annotations.MockK | |
@@ -26,7 +27,7 @@ class CohortItemVintageControllerTest { | |
private lateinit var cohortItemVintageController: CohortItemVintageController | |
companion object { | |
- const val TEST_ID = "123123" | |
+ val TEST_ID: CohortItemVintageId = TypeId.generate() | |
const val COHORT_ITEM_ID = 123123L | |
const val VINTAGE = "VINTAGE" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment