From fa4efd699d624d5ad53d59113ca9e6d4947f5b8d Mon Sep 17 00:00:00 2001 From: Bossanyi Tibor Date: Tue, 5 May 2020 17:49:22 +0200 Subject: [PATCH] unit test customer table --- build.gradle.kts | 6 ++-- readme.MD | 2 +- .../api/controller/CustomerController.kt | 2 +- .../com/aitrainer/api/model/Customer.kt | 14 ++++----- .../api/{ => test}/ApiApplicationTests.kt | 2 +- .../com/aitrainer/api/test/CustomerTests.kt | 29 +++++++++++++++++++ 6 files changed, 42 insertions(+), 13 deletions(-) rename src/test/kotlin/com/aitrainer/api/{ => test}/ApiApplicationTests.kt (85%) create mode 100644 src/test/kotlin/com/aitrainer/api/test/CustomerTests.kt diff --git a/build.gradle.kts b/build.gradle.kts index 54d08af..d565847 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } group = "com.aitrainer" -version = "0.0.1-SNAPSHOT" +version = "0.0.2" java.sourceCompatibility = JavaVersion.VERSION_1_8 repositories { @@ -26,7 +26,9 @@ dependencies { testImplementation("org.springframework.boot:spring-boot-starter-test") { exclude(group = "org.junit.vintage", module = "junit-vintage-engine") } - testCompile("org.junit.jupiter:junit-jupiter-api") + testCompile("junit:junit:4.13") + testCompile("org.jetbrains.kotlin:kotlin-test-junit5:1.3.72") + } tasks.withType { diff --git a/readme.MD b/readme.MD index 7da294b..ff43bda 100644 --- a/readme.MD +++ b/readme.MD @@ -1,4 +1,4 @@ -aitrainer server API v0.1.1 +aitrainer server API v0.0.2 connects the MYSQL Database provide a RESTful API to the mobile app \ No newline at end of file diff --git a/src/main/kotlin/com/aitrainer/api/controller/CustomerController.kt b/src/main/kotlin/com/aitrainer/api/controller/CustomerController.kt index 8a1ea03..aa5cb16 100644 --- a/src/main/kotlin/com/aitrainer/api/controller/CustomerController.kt +++ b/src/main/kotlin/com/aitrainer/api/controller/CustomerController.kt @@ -17,7 +17,7 @@ class CustomerController ( private val customerRepository: CustomerRepository ) customerRepository.findAll() @PostMapping("/customers") - fun createNewArticle(@Valid @RequestBody customer: Customer): Customer = + fun createNewCustomer(@Valid @RequestBody customer: Customer): Customer = customerRepository.save(customer) @GetMapping("/customers/{id}") diff --git a/src/main/kotlin/com/aitrainer/api/model/Customer.kt b/src/main/kotlin/com/aitrainer/api/model/Customer.kt index 7b40f65..e468125 100644 --- a/src/main/kotlin/com/aitrainer/api/model/Customer.kt +++ b/src/main/kotlin/com/aitrainer/api/model/Customer.kt @@ -1,7 +1,5 @@ package com.aitrainer.api.model -import com.aitrainer.api.enums.SexEnum - import javax.persistence.Entity import javax.persistence.GeneratedValue import javax.persistence.GenerationType @@ -11,13 +9,13 @@ import javax.validation.constraints.NotBlank @Entity data class Customer ( @get: NotBlank - val name: String = "", - val firstname: String, - val email: String, - val age: Int, - val sex: String, + val name: String = "", + val firstname: String = "", + val email: String = "", + val age: Int = 0, + val sex: String = "m", @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - val customer_id: Long? = null + val customer_id: Long = 0 ) diff --git a/src/test/kotlin/com/aitrainer/api/ApiApplicationTests.kt b/src/test/kotlin/com/aitrainer/api/test/ApiApplicationTests.kt similarity index 85% rename from src/test/kotlin/com/aitrainer/api/ApiApplicationTests.kt rename to src/test/kotlin/com/aitrainer/api/test/ApiApplicationTests.kt index e8a12cd..2c4a873 100644 --- a/src/test/kotlin/com/aitrainer/api/ApiApplicationTests.kt +++ b/src/test/kotlin/com/aitrainer/api/test/ApiApplicationTests.kt @@ -1,4 +1,4 @@ -package com.aitrainer.api +package com.aitrainer.api.test import org.junit.jupiter.api.Test import org.springframework.boot.test.context.SpringBootTest diff --git a/src/test/kotlin/com/aitrainer/api/test/CustomerTests.kt b/src/test/kotlin/com/aitrainer/api/test/CustomerTests.kt new file mode 100644 index 0000000..cf13247 --- /dev/null +++ b/src/test/kotlin/com/aitrainer/api/test/CustomerTests.kt @@ -0,0 +1,29 @@ +package com.aitrainer.api.test + +import org.springframework.boot.test.context.SpringBootTest +import com.aitrainer.api.repository.CustomerRepository +import com.aitrainer.api.model.Customer +import org.junit.jupiter.api.Test +import kotlin.test.assertEquals +import kotlin.test.fail +import org.springframework.beans.factory.annotation.Autowired; + +@SpringBootTest +class CustomerTests { + + @Autowired + lateinit private var customerRepository: CustomerRepository + private val customerId: Long = 4 + + @Test + fun testInsert() { + val newCustomer = Customer("Bossanyi", "Tibor", "", 48, "m"); + val savedCustomer: Customer = customerRepository.save(newCustomer) + assertEquals(savedCustomer?.age, 48) + + val customer: Customer? = customerRepository.findById( savedCustomer?.customer_id ).orElse(null); + assertEquals( customer?.firstname, "Tibor") + //assertEquals( customer?.name, "Boss") + } + +} \ No newline at end of file