Merge branch 'tibor' into 'master'

Tibor

See merge request bossanyit/aitrainer_server!18
This commit is contained in:
Bossányi Tibor 2020-10-17 13:58:51 +00:00
commit 0a5028020e
4 changed files with 46 additions and 6 deletions

View File

@ -11,7 +11,7 @@ plugins {
}
group = "com.aitrainer"
version = "1.0.8"
version = "1.0.9"
java.sourceCompatibility = JavaVersion.VERSION_1_8
repositories {

View File

@ -2,6 +2,7 @@ package com.aitrainer.api.controller
import com.aitrainer.api.model.Exercises
import com.aitrainer.api.repository.ExercisesRepository
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
import javax.validation.Valid
@ -19,7 +20,7 @@ class ExerciseController(private val exercisesRepository: ExercisesRepository) {
@GetMapping("/exercises/customer/{id}")
fun getAllExersicesByCustomerId(@PathVariable( value = "id" ) customerId: Long? ): List<Exercises> =
exercisesRepository.getAllByCustomerId(customerId)
exercisesRepository.getAllByCustomerIdOrderByDateAddDesc(customerId)
@PostMapping("/exercises")
fun createNewExercise(@Valid @RequestBody exercise: Exercises): ResponseEntity<Exercises> {
@ -40,4 +41,12 @@ class ExerciseController(private val exercisesRepository: ExercisesRepository) {
ResponseEntity.ok().body(exercisesRepository.save(updatedExercises))
}.orElse(ResponseEntity.notFound().build())
}
@PostMapping("/exercises/{id}")
fun deleteExerciseById(@PathVariable(value = "id") exerciseId: Long): HttpStatus {
val exercise2Delete = exercisesRepository.findById(exerciseId).orElse(null)
exercisesRepository.delete(exercise2Delete)
return HttpStatus.OK
}
}

View File

@ -6,5 +6,5 @@ import org.springframework.stereotype.Repository
@Repository
interface ExercisesRepository : JpaRepository<Exercises, Long> {
fun getAllByCustomerId( customerId: Long? ):List<Exercises>
fun getAllByCustomerIdOrderByDateAddDesc( customerId: Long? ):List<Exercises>
}

View File

@ -1,10 +1,13 @@
package com.aitrainer.api.test
import com.aitrainer.api.controller.ExerciseController
import com.aitrainer.api.model.Exercises
import com.aitrainer.api.repository.ExercisesRepository
import org.junit.jupiter.api.Test
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import kotlin.test.assertEquals
import kotlin.test.assertTrue
@ -18,11 +21,11 @@ class ExerciseTest {
fun testGet() {
var id: Long = 1
val exercises: List<Exercises> = exerciseRepository.getAllByCustomerId( id )
assertEquals( exercises[0].quantity, 12.2)
val exercises: List<Exercises> = exerciseRepository.getAllByCustomerIdOrderByDateAddDesc( id )
assertEquals( exercises[0].quantity, 30.0)
id = 100000
val exercises2: List<Exercises> = exerciseRepository.getAllByCustomerId( id )
val exercises2: List<Exercises> = exerciseRepository.getAllByCustomerIdOrderByDateAddDesc( id )
assertEquals( exercises2.size, 0)
}
@ -57,4 +60,32 @@ class ExerciseTest {
assertEquals(exerciseNew.exercisePlanDetailId, 6)
exerciseRepository.delete(exercise)
}
@Test
fun testDelete() {
val exercise = Exercises(
exerciseTypeId = 30,
customerId = 11,
quantity = 100.0,
dateAdd = "2020-10-13 04:32:00",
unit = "repeat",
unitQuantity = 35.0,
restTime = null
)
val exerciseNew = exerciseRepository.save(exercise)
assertTrue(exerciseNew.exerciseId > 5)
val newId = exerciseNew.exerciseId
print("NewId for delete: $newId")
val exerciseController = ExerciseController(exerciseRepository)
val response: ResponseEntity<Exercises> = exerciseController.getExerciseById(newId)
assertEquals(response.statusCode, HttpStatus.OK)
val status: HttpStatus = exerciseController.deleteExerciseById(newId)
assertEquals(status, HttpStatus.OK)
val response2: ResponseEntity<Exercises> = exerciseController.getExerciseById(newId)
assertEquals(response2.statusCode, HttpStatus.NOT_FOUND)
}
}