Merge pull request 'API 1.2.5 Diet Preference, DietUserPreference' (#19) from tibor into master
Reviewed-on: https://git.workouttest.org/bossanyit/aitrainer_server/pulls/19
This commit is contained in:
commit
f61603d1ac
@ -11,7 +11,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = "com.aitrainer"
|
group = "com.aitrainer"
|
||||||
version = "1.2.4"
|
version = "1.2.5"
|
||||||
java.sourceCompatibility = JavaVersion.VERSION_17
|
java.sourceCompatibility = JavaVersion.VERSION_17
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
@ -26,7 +26,7 @@ dependencies {
|
|||||||
implementation("org.springframework.boot:spring-boot-starter-validation")
|
implementation("org.springframework.boot:spring-boot-starter-validation")
|
||||||
implementation("org.springframework.boot:spring-boot-starter-security")
|
implementation("org.springframework.boot:spring-boot-starter-security")
|
||||||
implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
|
implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
|
||||||
implementation("org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.6.8")
|
implementation(dependencyNotation = "org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.6.8")
|
||||||
implementation("org.springframework.security.oauth:spring-security-oauth2:2.5.2.RELEASE")
|
implementation("org.springframework.security.oauth:spring-security-oauth2:2.5.2.RELEASE")
|
||||||
implementation("javax.validation:validation-api:2.0.1.Final")
|
implementation("javax.validation:validation-api:2.0.1.Final")
|
||||||
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
|
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
|
||||||
@ -38,7 +38,7 @@ dependencies {
|
|||||||
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1")
|
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1")
|
||||||
|
|
||||||
implementation("io.jsonwebtoken:jjwt:0.9.1")
|
implementation("io.jsonwebtoken:jjwt:0.9.1")
|
||||||
implementation("org.yaml:snakeyaml:1.33")
|
implementation("org.yaml:snakeyaml:2.0")
|
||||||
implementation("com.google.code.gson:gson:2.10.1")
|
implementation("com.google.code.gson:gson:2.10.1")
|
||||||
implementation("org.json:json:20220924")
|
implementation("org.json:json:20220924")
|
||||||
|
|
||||||
|
24
data/db/update_1_2_5.sql
Normal file
24
data/db/update_1_2_5.sql
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
START TRANSACTION;
|
||||||
|
|
||||||
|
DROP TABLE `diet_user_sensitivity`;
|
||||||
|
DROP TABLE `diet_sensitivity`;
|
||||||
|
|
||||||
|
CREATE TABLE `diet_preference` (
|
||||||
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`type` CHAR(50) NULL DEFAULT NULL COLLATE 'utf8_hungarian_ci',
|
||||||
|
`preference` CHAR(100) NOT NULL DEFAULT '' COLLATE 'utf8_hungarian_ci',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
)
|
||||||
|
COLLATE='utf8_hungarian_ci'
|
||||||
|
ENGINE=InnoDB
|
||||||
|
;
|
||||||
|
|
||||||
|
ALTER TABLE `diet_user_preference`
|
||||||
|
CHANGE COLUMN `raw_material_id` `diet_preference_id` INT(11) NULL DEFAULT '0' AFTER `diet_user_id`,
|
||||||
|
ADD COLUMN `preference` CHAR(100) NULL DEFAULT NULL AFTER `diet_preference_id`,
|
||||||
|
ADD COLUMN `preference_type` CHAR(50) NULL DEFAULT NULL AFTER `preference`,
|
||||||
|
DROP COLUMN `temperature`;
|
||||||
|
|
||||||
|
UPDATE configuration set config_value = "1.2.5", date_change=CURRENT_DATE WHERE config_key = "db_version";
|
||||||
|
|
||||||
|
COMMIT;
|
@ -14,21 +14,20 @@ import org.springframework.web.bind.annotation.RestController
|
|||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api")
|
@RequestMapping("/api")
|
||||||
class CustomerPackageController( private val customerRepository: CustomerRepository,
|
class CustomerPackageController(private val customerRepository: CustomerRepository,
|
||||||
private val customerExerciseDeviceRepository: CustomerExerciseDeviceRepository,
|
private val customerExerciseDeviceRepository: CustomerExerciseDeviceRepository,
|
||||||
private val exercisesRepository: ExercisesRepository,
|
private val exercisesRepository: ExercisesRepository,
|
||||||
private val purchaseRepository: PurchaseRepository,
|
private val purchaseRepository: PurchaseRepository,
|
||||||
private val customerPropertyRepository: CustomerPropertyRepository,
|
private val customerPropertyRepository: CustomerPropertyRepository,
|
||||||
private val exerciseResultRepository: ExerciseResultRepository,
|
private val exerciseResultRepository: ExerciseResultRepository,
|
||||||
private val customerActivityRepository: CustomerActivityRepository,
|
private val customerActivityRepository: CustomerActivityRepository,
|
||||||
private val customerTrainingPlanRepository: CustomerTrainingPlanRepository,
|
private val customerTrainingPlanRepository: CustomerTrainingPlanRepository,
|
||||||
private val customerMembership: CustomerMembershipRepository,
|
private val customerMembership: CustomerMembershipRepository,
|
||||||
private val dietRepository: DietRepository,
|
private val dietRepository: DietRepository,
|
||||||
private val dietUserConsumptionRepository: DietUserConsumptionRepository,
|
private val dietUserConsumptionRepository: DietUserConsumptionRepository,
|
||||||
private val dietUserRepository: DietUserRepository,
|
private val dietUserRepository: DietUserRepository,
|
||||||
private val dietUserPreferenceRepository: DietUserPreferenceRepository,
|
private val dietUserPreferenceRepository: DietUserPreferenceRepository,
|
||||||
private val dietUserSensitivityRepository: DietUserSensitivityRepository,
|
private val customerConversationRepository: CustomerConversationRepository
|
||||||
private val customerConversationRepository: CustomerConversationRepository
|
|
||||||
|
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@ -62,9 +61,6 @@ class CustomerPackageController( private val customerRepository: CustomerReposit
|
|||||||
val listDietUserPreference = dietUserPreferenceRepository.findByDietUserId(dietUserId)
|
val listDietUserPreference = dietUserPreferenceRepository.findByDietUserId(dietUserId)
|
||||||
val listDietUserPreferenceJson = gson.toJson(listDietUserPreference)
|
val listDietUserPreferenceJson = gson.toJson(listDietUserPreference)
|
||||||
|
|
||||||
val listDietUserSensitivity = dietUserSensitivityRepository.findByDietUserId(dietUserId)
|
|
||||||
val listDietUserSensitivityJson = gson.toJson(listDietUserSensitivity)
|
|
||||||
|
|
||||||
val listCustomerConversation = customerConversationRepository.findByCustomerId(customerId)
|
val listCustomerConversation = customerConversationRepository.findByCustomerId(customerId)
|
||||||
val listCustomerConversationJson = gson.toJson(listCustomerConversation)
|
val listCustomerConversationJson = gson.toJson(listCustomerConversation)
|
||||||
|
|
||||||
@ -74,7 +70,6 @@ class CustomerPackageController( private val customerRepository: CustomerReposit
|
|||||||
"|||" + getClassRecord(Diet::class.simpleName, listDietJson) +
|
"|||" + getClassRecord(Diet::class.simpleName, listDietJson) +
|
||||||
"|||" + getClassRecord(DietUserConsumption::class.simpleName, listDietUserConsumptionJson) +
|
"|||" + getClassRecord(DietUserConsumption::class.simpleName, listDietUserConsumptionJson) +
|
||||||
"|||" + getClassRecord(DietUserPreference::class.simpleName, listDietUserPreferenceJson) +
|
"|||" + getClassRecord(DietUserPreference::class.simpleName, listDietUserPreferenceJson) +
|
||||||
"|||" + getClassRecord(DietUserSensitivity::class.simpleName, listDietUserSensitivityJson) +
|
|
||||||
"|||" + getClassRecord(CustomerConversation::class.simpleName, listCustomerConversationJson)
|
"|||" + getClassRecord(CustomerConversation::class.simpleName, listCustomerConversationJson)
|
||||||
|
|
||||||
return if (packageJson.isEmpty()) ResponseEntity.notFound().build() else
|
return if (packageJson.isEmpty()) ResponseEntity.notFound().build() else
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.aitrainer.api.controller
|
package com.aitrainer.api.controller
|
||||||
|
|
||||||
import com.aitrainer.api.model.*
|
import com.aitrainer.api.model.*
|
||||||
import com.aitrainer.api.model.diet.DietSensitivity
|
import com.aitrainer.api.model.diet.DietPreference
|
||||||
import com.aitrainer.api.model.diet.Meal
|
import com.aitrainer.api.model.diet.Meal
|
||||||
import com.aitrainer.api.model.diet.Recipe
|
import com.aitrainer.api.model.diet.Recipe
|
||||||
import com.aitrainer.api.model.diet.Store
|
import com.aitrainer.api.model.diet.Store
|
||||||
@ -38,7 +38,7 @@ class PackageController(private val exerciseAbilityRepository: ExerciseAbilityRe
|
|||||||
private val storeRepository: StoreRepository,
|
private val storeRepository: StoreRepository,
|
||||||
private val recipeRepository: RecipeRepository,
|
private val recipeRepository: RecipeRepository,
|
||||||
private val mealRepository: MealRepository,
|
private val mealRepository: MealRepository,
|
||||||
private val dietSensitivityRepository: DietSensitivityRepository
|
private val dietPreferenceRepository: DietPreferenceRepository
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@GetMapping("/diet_package", produces = [MediaType.APPLICATION_JSON_VALUE + ";charset=UTF-8"])
|
@GetMapping("/diet_package", produces = [MediaType.APPLICATION_JSON_VALUE + ";charset=UTF-8"])
|
||||||
@ -63,7 +63,7 @@ class PackageController(private val exerciseAbilityRepository: ExerciseAbilityRe
|
|||||||
val listRawMaterial = mealRepository.findAll()
|
val listRawMaterial = mealRepository.findAll()
|
||||||
val listRawMaterialJson = gson.toJson(listRawMaterial)
|
val listRawMaterialJson = gson.toJson(listRawMaterial)
|
||||||
|
|
||||||
val listDietSensitivity = dietSensitivityRepository.findAll()
|
val listDietSensitivity = dietPreferenceRepository.findAll()
|
||||||
val listDietSensitivityJson = gson.toJson(listDietSensitivity)
|
val listDietSensitivityJson = gson.toJson(listDietSensitivity)
|
||||||
|
|
||||||
val listAppText = appTextRepository.findAllWithTranslation()
|
val listAppText = appTextRepository.findAllWithTranslation()
|
||||||
@ -75,7 +75,7 @@ class PackageController(private val exerciseAbilityRepository: ExerciseAbilityRe
|
|||||||
"|||" + getClassRecord(Store::class.simpleName, listStoreJson) +
|
"|||" + getClassRecord(Store::class.simpleName, listStoreJson) +
|
||||||
"|||" + getClassRecord(Recipe::class.simpleName, listRecipeJson) +
|
"|||" + getClassRecord(Recipe::class.simpleName, listRecipeJson) +
|
||||||
"|||" + getClassRecord(Meal::class.simpleName, listRawMaterialJson) +
|
"|||" + getClassRecord(Meal::class.simpleName, listRawMaterialJson) +
|
||||||
"|||" + getClassRecord(DietSensitivity::class.simpleName, listDietSensitivityJson) +
|
"|||" + getClassRecord(DietPreference::class.simpleName, listDietSensitivityJson) +
|
||||||
"|||" + getClassRecord(AppText::class.simpleName, listAppTextJson)
|
"|||" + getClassRecord(AppText::class.simpleName, listAppTextJson)
|
||||||
|
|
||||||
return if (packageJson.isEmpty()) ResponseEntity.notFound().build() else
|
return if (packageJson.isEmpty()) ResponseEntity.notFound().build() else
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
package com.aitrainer.api.controller.diet
|
|
||||||
|
|
||||||
import com.aitrainer.api.model.diet.DietSensitivity
|
|
||||||
import com.aitrainer.api.repository.diet.DietSensitivityRepository
|
|
||||||
import org.springframework.http.ResponseEntity
|
|
||||||
import org.springframework.web.bind.annotation.*
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("api")
|
|
||||||
class DietSensitivityController(private val dietSensitivityRepository: DietSensitivityRepository) {
|
|
||||||
|
|
||||||
@PostMapping ("/diet_sensitivity")
|
|
||||||
fun insert(@RequestBody dietSensitivity: DietSensitivity): ResponseEntity<DietSensitivity> {
|
|
||||||
val newDietSensitivity = dietSensitivityRepository.save(dietSensitivity)
|
|
||||||
return ResponseEntity.ok().body(newDietSensitivity)
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/diet_sensitivity")
|
|
||||||
fun getAll(): ResponseEntity<List<DietSensitivity>> {
|
|
||||||
val list = dietSensitivityRepository.findAll()
|
|
||||||
return if (list.isEmpty()) ResponseEntity.notFound().build() else
|
|
||||||
ResponseEntity.ok().body(list)
|
|
||||||
}
|
|
||||||
}
|
|
@ -22,4 +22,16 @@ class DietUserPreferenceController(private val dietUserPreferenceRepository: Die
|
|||||||
return if (list.isEmpty()) ResponseEntity.notFound().build() else
|
return if (list.isEmpty()) ResponseEntity.notFound().build() else
|
||||||
ResponseEntity.ok().body(list)
|
ResponseEntity.ok().body(list)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/diet_user_preference/preference/{dietPreferenceId}")
|
||||||
|
fun getByDietPreferenceIdId(@PathVariable dietPreferenceId: Long): ResponseEntity<List<DietUserPreference>> {
|
||||||
|
val list = dietUserPreferenceRepository.findByDietPreferenceId(dietPreferenceId)
|
||||||
|
return if (list.isEmpty()) ResponseEntity.notFound().build() else
|
||||||
|
ResponseEntity.ok().body(list)
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/diet_user_preference/delete", produces = [MediaType.APPLICATION_JSON_VALUE + ";charset=UTF-8"])
|
||||||
|
fun delete(@RequestBody dietUserPreference: DietUserPreference): ResponseEntity<*> {
|
||||||
|
return ResponseEntity.ok().body(dietUserPreferenceRepository.delete(dietUserPreference))
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,25 +0,0 @@
|
|||||||
package com.aitrainer.api.controller.diet
|
|
||||||
|
|
||||||
import com.aitrainer.api.model.diet.DietUserSensitivity
|
|
||||||
import com.aitrainer.api.repository.diet.DietUserSensitivityRepository
|
|
||||||
import org.springframework.http.MediaType
|
|
||||||
import org.springframework.http.ResponseEntity
|
|
||||||
import org.springframework.web.bind.annotation.*
|
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/api")
|
|
||||||
class DietUserSensitivityController(private val dietUserSensitivityRepository: DietUserSensitivityRepository) {
|
|
||||||
|
|
||||||
@PostMapping("/diet_user_sensitivity", produces = [MediaType.APPLICATION_JSON_VALUE + ";charset=UTF-8"])
|
|
||||||
fun insert(@RequestBody dietUserSensitivity: DietUserSensitivity): ResponseEntity<*> {
|
|
||||||
return ResponseEntity.ok().body(dietUserSensitivityRepository.save(dietUserSensitivity))
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/diet_user_sensitivity/{dietUserId}")
|
|
||||||
fun getByDietUserId(@PathVariable dietUserId: Long): ResponseEntity<List<DietUserSensitivity>> {
|
|
||||||
val list = dietUserSensitivityRepository.findByDietUserId(dietUserId)
|
|
||||||
return if (list.isEmpty()) ResponseEntity.notFound().build() else
|
|
||||||
ResponseEntity.ok().body(list)
|
|
||||||
}
|
|
||||||
}
|
|
@ -8,7 +8,8 @@ import jakarta.persistence.Id
|
|||||||
import javax.validation.constraints.NotNull
|
import javax.validation.constraints.NotNull
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
data class DietSensitivity(
|
data class DietPreference(
|
||||||
@Expose @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = 0,
|
@Expose @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = 0,
|
||||||
@Expose @get: NotNull val name: String = "",
|
@Expose @get: NotNull val type: String = "",
|
||||||
|
@Expose @get: NotNull val preference: String = "",
|
||||||
)
|
)
|
@ -11,6 +11,7 @@ import javax.validation.constraints.NotNull
|
|||||||
data class DietUserPreference(
|
data class DietUserPreference(
|
||||||
@Expose @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = 0,
|
@Expose @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = 0,
|
||||||
@Expose @get: NotNull val dietUserId: Long = 0,
|
@Expose @get: NotNull val dietUserId: Long = 0,
|
||||||
@Expose @get: NotNull val rawMaterialId: Long = 0,
|
@Expose @get: NotNull val dietPreferenceId: Long = 0,
|
||||||
@Expose @get: NotNull val temperature: Byte = 0,
|
@Expose @get: NotNull val preference: String = "",
|
||||||
|
@Expose @get: NotNull val preferenceType: String = "",
|
||||||
)
|
)
|
@ -1,15 +0,0 @@
|
|||||||
package com.aitrainer.api.model.diet
|
|
||||||
|
|
||||||
import com.google.gson.annotations.Expose
|
|
||||||
import jakarta.persistence.Entity
|
|
||||||
import jakarta.persistence.GeneratedValue
|
|
||||||
import jakarta.persistence.GenerationType
|
|
||||||
import jakarta.persistence.Id
|
|
||||||
import javax.validation.constraints.NotNull
|
|
||||||
|
|
||||||
@Entity
|
|
||||||
data class DietUserSensitivity(
|
|
||||||
@Expose @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = 0,
|
|
||||||
@Expose @get: NotNull val dietUserId: Long = 0,
|
|
||||||
@Expose @get: NotNull val sensitivityId: Long = 0,
|
|
||||||
)
|
|
@ -0,0 +1,6 @@
|
|||||||
|
package com.aitrainer.api.repository.diet
|
||||||
|
|
||||||
|
import com.aitrainer.api.model.diet.DietPreference
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository
|
||||||
|
|
||||||
|
interface DietPreferenceRepository : JpaRepository<DietPreference, Int>
|
@ -1,6 +0,0 @@
|
|||||||
package com.aitrainer.api.repository.diet
|
|
||||||
|
|
||||||
import com.aitrainer.api.model.diet.DietSensitivity
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository
|
|
||||||
|
|
||||||
interface DietSensitivityRepository : JpaRepository<DietSensitivity, Int>
|
|
@ -7,4 +7,6 @@ import org.springframework.stereotype.Repository
|
|||||||
@Repository
|
@Repository
|
||||||
interface DietUserPreferenceRepository : JpaRepository<DietUserPreference, Long> {
|
interface DietUserPreferenceRepository : JpaRepository<DietUserPreference, Long> {
|
||||||
fun findByDietUserId(dietUserId: Long): List<DietUserPreference>
|
fun findByDietUserId(dietUserId: Long): List<DietUserPreference>
|
||||||
|
|
||||||
|
fun findByDietPreferenceId(dietPreferenceId: Long): List<DietUserPreference>
|
||||||
}
|
}
|
@ -1,10 +0,0 @@
|
|||||||
package com.aitrainer.api.repository.diet
|
|
||||||
|
|
||||||
import com.aitrainer.api.model.diet.DietUserSensitivity
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository
|
|
||||||
import org.springframework.stereotype.Repository
|
|
||||||
|
|
||||||
@Repository
|
|
||||||
interface DietUserSensitivityRepository : JpaRepository<DietUserSensitivity, Long> {
|
|
||||||
fun findByDietUserId(dietUserId: Long): List<DietUserSensitivity>
|
|
||||||
}
|
|
@ -16,7 +16,7 @@ logging.config=classpath:logback-spring.xml
|
|||||||
logging.file=logs
|
logging.file=logs
|
||||||
|
|
||||||
# if the database structure has been changed, increment this version number
|
# if the database structure has been changed, increment this version number
|
||||||
application.version=1.2.4
|
application.version=1.2.5
|
||||||
|
|
||||||
jwt.secret=aitrainer
|
jwt.secret=aitrainer
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ logging.config=classpath:logback-spring.xml
|
|||||||
logging.file=logs
|
logging.file=logs
|
||||||
|
|
||||||
# if the database structue has been changed, increment this version number
|
# if the database structue has been changed, increment this version number
|
||||||
application.version=1.2.4
|
application.version=1.2.5
|
||||||
|
|
||||||
jwt.secret=aitrainer
|
jwt.secret=aitrainer
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ logging.config=classpath:logback-spring.xml
|
|||||||
logging.file=logs
|
logging.file=logs
|
||||||
|
|
||||||
# if the database structue has been changed, increment this version number
|
# if the database structue has been changed, increment this version number
|
||||||
application.version=1.2.4
|
application.version=1.2.5
|
||||||
|
|
||||||
jwt.secret=aitrainer
|
jwt.secret=aitrainer
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ logging.config=classpath:logback-spring.xml
|
|||||||
logging.file=logs
|
logging.file=logs
|
||||||
|
|
||||||
# if the database structure has been changed, increment this version number
|
# if the database structure has been changed, increment this version number
|
||||||
application.version=1.2.4
|
application.version=1.2.5
|
||||||
|
|
||||||
jwt.secret=aitrainer
|
jwt.secret=aitrainer
|
||||||
|
|
||||||
|
@ -59,9 +59,6 @@ class AppCustomerPackageTest {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private lateinit var dietUserPreferenceRepository: DietUserPreferenceRepository
|
private lateinit var dietUserPreferenceRepository: DietUserPreferenceRepository
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private lateinit var dietUserSensitivityRepository: DietUserSensitivityRepository
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private lateinit var customerConversationRepository: CustomerConversationRepository
|
private lateinit var customerConversationRepository: CustomerConversationRepository
|
||||||
|
|
||||||
@ -83,7 +80,6 @@ class AppCustomerPackageTest {
|
|||||||
dietUserConsumptionRepository,
|
dietUserConsumptionRepository,
|
||||||
dietUserRepository,
|
dietUserRepository,
|
||||||
dietUserPreferenceRepository,
|
dietUserPreferenceRepository,
|
||||||
dietUserSensitivityRepository,
|
|
||||||
customerConversationRepository
|
customerConversationRepository
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -130,15 +126,8 @@ class AppCustomerPackageTest {
|
|||||||
val type = object : TypeToken<List<DietUserPreference?>?>() {}.type
|
val type = object : TypeToken<List<DietUserPreference?>?>() {}.type
|
||||||
val list: List<DietUserPreference> = gson.fromJson(dietUserPreferenceJson, type)
|
val list: List<DietUserPreference> = gson.fromJson(dietUserPreferenceJson, type)
|
||||||
assertEquals(list[0].dietUserId, 2)
|
assertEquals(list[0].dietUserId, 2)
|
||||||
assertEquals(list[0].temperature, -1)
|
assertEquals(list[0].dietPreferenceId, 10)
|
||||||
}
|
assertEquals(list[1].preference, "Cukorbetegség")
|
||||||
|
|
||||||
record[0] == DietUserSensitivity::class.simpleName -> {
|
|
||||||
val dietUserSensitivityJson: String = record[1]
|
|
||||||
val type = object : TypeToken<List<DietUserSensitivity?>?>() {}.type
|
|
||||||
val list: List<DietUserSensitivity> = gson.fromJson(dietUserSensitivityJson, type)
|
|
||||||
assertEquals(list[0].dietUserId, 2)
|
|
||||||
assertEquals(list[0].sensitivityId, 1)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -162,7 +151,6 @@ class AppCustomerPackageTest {
|
|||||||
dietUserConsumptionRepository,
|
dietUserConsumptionRepository,
|
||||||
dietUserRepository,
|
dietUserRepository,
|
||||||
dietUserPreferenceRepository,
|
dietUserPreferenceRepository,
|
||||||
dietUserSensitivityRepository,
|
|
||||||
customerConversationRepository
|
customerConversationRepository
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -217,7 +205,6 @@ class AppCustomerPackageTest {
|
|||||||
dietUserConsumptionRepository,
|
dietUserConsumptionRepository,
|
||||||
dietUserRepository,
|
dietUserRepository,
|
||||||
dietUserPreferenceRepository,
|
dietUserPreferenceRepository,
|
||||||
dietUserSensitivityRepository,
|
|
||||||
customerConversationRepository)
|
customerConversationRepository)
|
||||||
|
|
||||||
var response: ResponseEntity<*> = controller.getCustomerPackageData(91)
|
var response: ResponseEntity<*> = controller.getCustomerPackageData(91)
|
||||||
|
@ -2,7 +2,7 @@ package com.aitrainer.api.test
|
|||||||
|
|
||||||
import com.aitrainer.api.controller.PackageController
|
import com.aitrainer.api.controller.PackageController
|
||||||
import com.aitrainer.api.model.*
|
import com.aitrainer.api.model.*
|
||||||
import com.aitrainer.api.model.diet.DietSensitivity
|
import com.aitrainer.api.model.diet.DietPreference
|
||||||
import com.aitrainer.api.model.diet.Meal
|
import com.aitrainer.api.model.diet.Meal
|
||||||
import com.aitrainer.api.model.diet.Recipe
|
import com.aitrainer.api.model.diet.Recipe
|
||||||
import com.aitrainer.api.model.diet.Store
|
import com.aitrainer.api.model.diet.Store
|
||||||
@ -62,7 +62,7 @@ class AppPackageTest {
|
|||||||
private lateinit var membershipRepository: MembershipRepository
|
private lateinit var membershipRepository: MembershipRepository
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private lateinit var dietSensitivityRepository: DietSensitivityRepository
|
private lateinit var dietPreferenceRepository: DietPreferenceRepository
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private lateinit var mealRepository: MealRepository
|
private lateinit var mealRepository: MealRepository
|
||||||
@ -101,7 +101,7 @@ class AppPackageTest {
|
|||||||
storeRepository,
|
storeRepository,
|
||||||
recipeRepository,
|
recipeRepository,
|
||||||
mealRepository,
|
mealRepository,
|
||||||
dietSensitivityRepository,
|
dietPreferenceRepository,
|
||||||
)
|
)
|
||||||
val response: ResponseEntity<*> = controller.getDietPackageData()
|
val response: ResponseEntity<*> = controller.getDietPackageData()
|
||||||
|
|
||||||
@ -149,13 +149,13 @@ class AppPackageTest {
|
|||||||
assertEquals(list[0].calMin, 70.0)
|
assertEquals(list[0].calMin, 70.0)
|
||||||
assertEquals(list[0].proteinMax, 25.0)
|
assertEquals(list[0].proteinMax, 25.0)
|
||||||
assertEquals(list[1].name, "Tigris buci1")
|
assertEquals(list[1].name, "Tigris buci1")
|
||||||
} else if ( record[0] == DietSensitivity::class.simpleName) {
|
} else if ( record[0] == DietPreference::class.simpleName) {
|
||||||
val dietSensitivityJson: String = record[1]
|
val dietPreferenceJson: String = record[1]
|
||||||
val type = object : TypeToken<List<DietSensitivity?>?>() {}.type
|
val type = object : TypeToken<List<DietPreference?>?>() {}.type
|
||||||
val list: List<DietSensitivity> = gson.fromJson(dietSensitivityJson, type)
|
val list: List<DietPreference> = gson.fromJson(dietPreferenceJson, type)
|
||||||
assertTrue(list.isNotEmpty())
|
assertTrue(list.isNotEmpty())
|
||||||
assertEquals(list[0].name, "Nut Allergy")
|
assertEquals(list[0].preference, "Nut Allergy")
|
||||||
assertEquals(list[1].name, "Penicillin sensitivity")
|
assertEquals(list[1].preference, "Penicillin sensitivity")
|
||||||
} else if ( record[0] == AppText::class.simpleName) {
|
} else if ( record[0] == AppText::class.simpleName) {
|
||||||
val appTextJson: String = record[1]
|
val appTextJson: String = record[1]
|
||||||
val type = object : TypeToken<List<AppText?>?>() {}.type
|
val type = object : TypeToken<List<AppText?>?>() {}.type
|
||||||
@ -199,7 +199,7 @@ class AppPackageTest {
|
|||||||
storeRepository,
|
storeRepository,
|
||||||
recipeRepository,
|
recipeRepository,
|
||||||
mealRepository,
|
mealRepository,
|
||||||
dietSensitivityRepository,
|
dietPreferenceRepository,
|
||||||
)
|
)
|
||||||
val response: ResponseEntity<*> = controller.getClubPackageData()
|
val response: ResponseEntity<*> = controller.getClubPackageData()
|
||||||
|
|
||||||
@ -259,7 +259,7 @@ class AppPackageTest {
|
|||||||
storeRepository,
|
storeRepository,
|
||||||
recipeRepository,
|
recipeRepository,
|
||||||
mealRepository,
|
mealRepository,
|
||||||
dietSensitivityRepository,
|
dietPreferenceRepository,
|
||||||
)
|
)
|
||||||
val response: ResponseEntity<*> = controller.getPackageData()
|
val response: ResponseEntity<*> = controller.getPackageData()
|
||||||
|
|
||||||
|
@ -1,70 +0,0 @@
|
|||||||
package com.aitrainer.api.test.diet
|
|
||||||
|
|
||||||
import com.aitrainer.api.model.diet.DietSensitivity
|
|
||||||
import com.aitrainer.api.test.Tokenizer
|
|
||||||
import com.google.gson.Gson
|
|
||||||
import org.junit.jupiter.api.BeforeAll
|
|
||||||
import org.junit.jupiter.api.Test
|
|
||||||
import org.junit.jupiter.api.TestInstance
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired
|
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest
|
|
||||||
import org.springframework.http.MediaType
|
|
||||||
import org.springframework.test.web.servlet.MockMvc
|
|
||||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get
|
|
||||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post
|
|
||||||
import org.springframework.test.web.servlet.result.MockMvcResultMatchers.*
|
|
||||||
|
|
||||||
@SpringBootTest
|
|
||||||
@AutoConfigureMockMvc
|
|
||||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
|
||||||
class DietSensitivityTest {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
lateinit var mockMvc: MockMvc
|
|
||||||
|
|
||||||
private var authToken: String? = ""
|
|
||||||
|
|
||||||
@BeforeAll
|
|
||||||
fun initTest() {
|
|
||||||
authToken = Tokenizer.getToken()
|
|
||||||
}
|
|
||||||
|
|
||||||
private val dietSensitivity = DietSensitivity(1, name = "Nut Allergy")
|
|
||||||
private val dietSensitivity2 = DietSensitivity(2, name = "Penicillin sensitivity")
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun `insert diet sensitivity successfully`() {
|
|
||||||
|
|
||||||
val gson = Gson()
|
|
||||||
|
|
||||||
mockMvc.perform(
|
|
||||||
post("/api/diet_sensitivity")
|
|
||||||
.contentType(MediaType.APPLICATION_JSON)
|
|
||||||
.header("Authorization", "Bearer $authToken")
|
|
||||||
.content(gson.toJson(dietSensitivity))
|
|
||||||
)
|
|
||||||
.andExpect(status().isOk)
|
|
||||||
.andExpect(jsonPath("$.name").value("Nut Allergy"))
|
|
||||||
|
|
||||||
mockMvc.perform(
|
|
||||||
post("/api/diet_sensitivity")
|
|
||||||
.contentType(MediaType.APPLICATION_JSON)
|
|
||||||
.header("Authorization", "Bearer $authToken")
|
|
||||||
.content(gson.toJson(dietSensitivity2))
|
|
||||||
)
|
|
||||||
.andExpect(status().isOk)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun `get all diet sensitivity successfully`() {
|
|
||||||
|
|
||||||
mockMvc.perform(get("/api/diet_sensitivity")
|
|
||||||
.header("Authorization", "Bearer $authToken")
|
|
||||||
.contentType(MediaType.APPLICATION_JSON))
|
|
||||||
.andExpect(status().isOk)
|
|
||||||
.andExpect(jsonPath("$.[0].name").value("Nut Allergy"))
|
|
||||||
.andExpect(jsonPath("$.[1].name").value("Penicillin sensitivity"))
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -28,17 +28,16 @@ class DietUserPreferenceTest {
|
|||||||
private lateinit var mockMvc: MockMvc
|
private lateinit var mockMvc: MockMvc
|
||||||
|
|
||||||
private val dietUserPreference = DietUserPreference(
|
private val dietUserPreference = DietUserPreference(
|
||||||
id = 1,
|
dietPreferenceId = 10,
|
||||||
rawMaterialId = 10,
|
|
||||||
dietUserId = 5,
|
dietUserId = 5,
|
||||||
temperature = -1
|
preference = ""
|
||||||
)
|
)
|
||||||
|
|
||||||
private val dietUserPreference2 = DietUserPreference(
|
private val dietUserPreference2 = DietUserPreference(
|
||||||
id = 2,
|
dietPreferenceId = 0,
|
||||||
rawMaterialId = 11,
|
|
||||||
dietUserId = 5,
|
dietUserId = 5,
|
||||||
temperature = 1
|
preference = "Cukorbetegség",
|
||||||
|
preferenceType = "betegség"
|
||||||
)
|
)
|
||||||
|
|
||||||
private var authToken: String = ""
|
private var authToken: String = ""
|
||||||
@ -60,8 +59,9 @@ class DietUserPreferenceTest {
|
|||||||
)
|
)
|
||||||
.andExpect(status().isOk)
|
.andExpect(status().isOk)
|
||||||
.andExpect(jsonPath("$.dietUserId").value(5))
|
.andExpect(jsonPath("$.dietUserId").value(5))
|
||||||
.andExpect(jsonPath("$.rawMaterialId").value(10))
|
.andExpect(jsonPath("$.dietPreferenceId").value(10))
|
||||||
.andExpect(jsonPath("$.temperature").value(-1))
|
.andExpect(jsonPath("$.preference").value(""))
|
||||||
|
.andExpect(jsonPath("$.preferenceType").value(""))
|
||||||
|
|
||||||
mockMvc.perform(
|
mockMvc.perform(
|
||||||
MockMvcRequestBuilders.post("/api/diet_user_preference")
|
MockMvcRequestBuilders.post("/api/diet_user_preference")
|
||||||
@ -70,20 +70,37 @@ class DietUserPreferenceTest {
|
|||||||
.content(toJson(dietUserPreference2))
|
.content(toJson(dietUserPreference2))
|
||||||
)
|
)
|
||||||
.andExpect(status().isOk)
|
.andExpect(status().isOk)
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun `get dietUserPreference list by dietUserId id successfully`() {
|
|
||||||
|
|
||||||
// Act & Assert
|
|
||||||
mockMvc.perform(get("/api/diet_user_preference/{dietUserId}", 5)
|
mockMvc.perform(get("/api/diet_user_preference/{dietUserId}", 5)
|
||||||
.header("Authorization", "Bearer $authToken")
|
.header("Authorization", "Bearer $authToken")
|
||||||
.contentType(MediaType.APPLICATION_JSON))
|
.contentType(MediaType.APPLICATION_JSON))
|
||||||
.andExpect(status().isOk)
|
.andExpect(status().isOk)
|
||||||
.andExpect(jsonPath("$.[0].temperature").value(-1))
|
.andExpect(jsonPath("$.[0].dietPreferenceId").value(10))
|
||||||
.andExpect(jsonPath("$.[0].rawMaterialId").value(10))
|
.andExpect(jsonPath("$.[0].preference").value(""))
|
||||||
.andExpect(jsonPath("$.[1].temperature").value(1))
|
.andExpect(jsonPath("$.[1].preference").value("Cukorbetegség"))
|
||||||
.andExpect(jsonPath("$.[1].rawMaterialId").value(11))
|
|
||||||
|
val dietUserPreference3 = DietUserPreference(
|
||||||
|
dietPreferenceId = 0,
|
||||||
|
dietUserId = 5,
|
||||||
|
preference = "Ebéd-Vacsora egyben",
|
||||||
|
preferenceType = "egyéb"
|
||||||
|
)
|
||||||
|
|
||||||
|
mockMvc.perform(
|
||||||
|
MockMvcRequestBuilders.post("/api/diet_user_preference")
|
||||||
|
.contentType(MediaType.APPLICATION_JSON)
|
||||||
|
.header("Authorization", "Bearer $authToken")
|
||||||
|
.content(toJson(dietUserPreference3))
|
||||||
|
)
|
||||||
|
.andExpect(status().isOk)
|
||||||
|
|
||||||
|
mockMvc.perform(
|
||||||
|
MockMvcRequestBuilders.post("/api/diet_user_preference/delete")
|
||||||
|
.contentType(MediaType.APPLICATION_JSON)
|
||||||
|
.header("Authorization", "Bearer $authToken")
|
||||||
|
.content(toJson(dietUserPreference3))
|
||||||
|
)
|
||||||
|
.andExpect(status().isOk)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,69 +0,0 @@
|
|||||||
package com.aitrainer.api.test.diet
|
|
||||||
|
|
||||||
import com.aitrainer.api.model.diet.DietUserSensitivity
|
|
||||||
import com.aitrainer.api.test.Tokenizer
|
|
||||||
import com.google.gson.Gson
|
|
||||||
import org.junit.jupiter.api.BeforeAll
|
|
||||||
import org.junit.jupiter.api.Test
|
|
||||||
import org.junit.jupiter.api.TestInstance
|
|
||||||
import org.junit.jupiter.api.extension.ExtendWith
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired
|
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest
|
|
||||||
import org.springframework.http.MediaType
|
|
||||||
import org.springframework.test.context.junit.jupiter.SpringExtension
|
|
||||||
import org.springframework.test.web.servlet.MockMvc
|
|
||||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders
|
|
||||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get
|
|
||||||
import org.springframework.test.web.servlet.result.MockMvcResultMatchers.*
|
|
||||||
|
|
||||||
|
|
||||||
@ExtendWith(SpringExtension::class)
|
|
||||||
@SpringBootTest
|
|
||||||
@AutoConfigureMockMvc
|
|
||||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
|
||||||
class DietUserSensitivityTest {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private lateinit var mockMvc: MockMvc
|
|
||||||
|
|
||||||
private val dietUserSensitivity = DietUserSensitivity(
|
|
||||||
sensitivityId = 1,
|
|
||||||
dietUserId = 5,
|
|
||||||
)
|
|
||||||
private var authToken: String = ""
|
|
||||||
|
|
||||||
@BeforeAll
|
|
||||||
fun initTest() {
|
|
||||||
authToken = Tokenizer.getToken()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun `insert dietUserSensitivity successfully`() {
|
|
||||||
|
|
||||||
mockMvc.perform(
|
|
||||||
MockMvcRequestBuilders.post("/api/diet_user_sensitivity")
|
|
||||||
.contentType(MediaType.APPLICATION_JSON)
|
|
||||||
.header("Authorization", "Bearer $authToken")
|
|
||||||
.content(toJson(dietUserSensitivity))
|
|
||||||
)
|
|
||||||
.andExpect(status().isOk)
|
|
||||||
.andExpect(jsonPath("$.dietUserId").value(5))
|
|
||||||
.andExpect(jsonPath("$.sensitivityId").value(1))
|
|
||||||
|
|
||||||
// Act & Assert
|
|
||||||
mockMvc.perform(get("/api/diet_user_sensitivity/{dietUserId}", 5)
|
|
||||||
.header("Authorization", "Bearer $authToken")
|
|
||||||
.contentType(MediaType.APPLICATION_JSON))
|
|
||||||
.andExpect(status().isOk)
|
|
||||||
.andExpect(jsonPath("$.[0].dietUserId").value(5))
|
|
||||||
.andExpect(jsonPath("$.[0].sensitivityId").value(1))
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun toJson(obj: Any): String {
|
|
||||||
return Gson().toJson(obj)
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user