From: qiaowei Date: Tue, 16 Apr 2019 05:56:55 +0000 (+0800) Subject: 单元测试 X-Git-Tag: 1.0.0^2~280 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=661ed7e10538ced2e64152a77c1faa11f3e44554;p=epayment%2Ffood_payapi.git 单元测试 --- diff --git a/src/main/kotlin/com/supwisdom/dlpay/shop/service/impl/shop_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/shop/service/impl/shop_service_impl.kt index c7d70dbe..411182d1 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/shop/service/impl/shop_service_impl.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/shop/service/impl/shop_service_impl.kt @@ -5,6 +5,7 @@ import com.supwisdom.dlpay.framework.dao.ShopaccDao import com.supwisdom.dlpay.framework.domain.TShop import com.supwisdom.dlpay.framework.domain.TShopacc import com.supwisdom.dlpay.framework.service.SystemUtilService +import com.supwisdom.dlpay.framework.util.Subject import com.supwisdom.dlpay.shop.service.ShopService import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Service @@ -35,7 +36,7 @@ class ShopServiceImpl : ShopService { shopacc.shopid = shop.shopid shopacc.shopname = shop.shopname shopacc.status = shop.status - shopacc.subjno = "2004" + shopacc.subjno = Subject.SUBJNO_MACHANT_INCOME shopacc.opendate = systemdatetime.hostdate shopacc.shopaccno = String.format("2%09d",shop.shopid) shopaccDao.save(shopacc) diff --git a/src/main/kotlin/com/supwisdom/dlpay/user/service/impl/user_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/user/service/impl/user_service_impl.kt index 8842924a..4f04d2c1 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/user/service/impl/user_service_impl.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/user/service/impl/user_service_impl.kt @@ -5,6 +5,7 @@ import com.supwisdom.dlpay.consume.dao.PersonDao import com.supwisdom.dlpay.consume.domain.TAccount import com.supwisdom.dlpay.consume.domain.TPerson import com.supwisdom.dlpay.framework.service.SystemUtilService +import com.supwisdom.dlpay.framework.util.Subject import com.supwisdom.dlpay.user.service.UserService import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Service @@ -22,6 +23,7 @@ class UserServiceImpl : UserService { private lateinit var systemUtilService: SystemUtilService override fun save(person: TPerson): TPerson { + //TODO check tac personDao.save(person) var account = accountDao.findByUserid(person.userid) if (account == null) { @@ -31,7 +33,7 @@ class UserServiceImpl : UserService { account.opendate = systemdatetime.hostdate account.userid = person.userid account.status = person.status - account.subjno = "220201" + account.subjno = Subject.SUBJNO_PERSONAL_DEPOSIT account.balance = 0.0 account.availbal = 0.0 account.frozebal = 0.0 diff --git a/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt b/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt new file mode 100644 index 00000000..626b0902 --- /dev/null +++ b/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt @@ -0,0 +1,15 @@ +package com.supwisdom.dlpay + +import org.junit.runner.RunWith +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc +import org.springframework.boot.test.context.SpringBootTest +import org.springframework.test.context.junit4.SpringRunner + +/** + * mvc 基础测试类 + * 放置基础方法,如认证信息等 + */ +@RunWith(SpringRunner::class) +@SpringBootTest +@AutoConfigureMockMvc +abstract class MvcBaseTest \ No newline at end of file diff --git a/src/test/kotlin/com/supwisdom/dlpay/ShopControllerTest.kt b/src/test/kotlin/com/supwisdom/dlpay/controller/ShopControllerTest.kt similarity index 87% rename from src/test/kotlin/com/supwisdom/dlpay/ShopControllerTest.kt rename to src/test/kotlin/com/supwisdom/dlpay/controller/ShopControllerTest.kt index 4ff17146..e07a5fed 100644 --- a/src/test/kotlin/com/supwisdom/dlpay/ShopControllerTest.kt +++ b/src/test/kotlin/com/supwisdom/dlpay/controller/ShopControllerTest.kt @@ -1,17 +1,13 @@ -package com.supwisdom.dlpay +package com.supwisdom.dlpay.controller import com.google.gson.Gson +import com.supwisdom.dlpay.MvcBaseTest import com.supwisdom.dlpay.framework.domain.TShop import com.supwisdom.dlpay.shop.bean.ShopParam import org.junit.Assert import org.junit.Test -import org.junit.runner.RunWith 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.TestPropertySource -import org.springframework.test.context.junit4.SpringRunner import org.springframework.test.web.servlet.MockMvc import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get @@ -22,10 +18,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers.status /** * Created by shuwei on 2019/4/15. */ -@RunWith(SpringRunner::class) -@SpringBootTest -@AutoConfigureMockMvc -class ShopControllerTest { +class ShopControllerTest : MvcBaseTest() { @Autowired private lateinit var mvc: MockMvc diff --git a/src/test/kotlin/com/supwisdom/dlpay/controller/UserControllerTest.kt b/src/test/kotlin/com/supwisdom/dlpay/controller/UserControllerTest.kt new file mode 100644 index 00000000..3d93d47c --- /dev/null +++ b/src/test/kotlin/com/supwisdom/dlpay/controller/UserControllerTest.kt @@ -0,0 +1,84 @@ +package com.supwisdom.dlpay.controller + +import com.google.gson.Gson +import com.supwisdom.dlpay.MvcBaseTest +import com.supwisdom.dlpay.consume.domain.TAccount +import com.supwisdom.dlpay.consume.domain.TPerson +import com.supwisdom.dlpay.shop.bean.ShopParam +import com.supwisdom.dlpay.shop.bean.UserParam +import org.junit.Assert +import org.junit.Test +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.http.MediaType +import org.springframework.test.web.servlet.MockMvc +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders +import org.springframework.test.web.servlet.result.MockMvcResultHandlers +import org.springframework.test.web.servlet.result.MockMvcResultMatchers + + +class UserControllerTest : MvcBaseTest() { + @Autowired + private lateinit var mvc: MockMvc + + class RetBean { + var userid: String = "" + var retcode: Int = 0 + lateinit var person: TPerson + lateinit var account: TAccount + } + + @Test + fun open() { + val userParam = UserParam() + userParam.uniqueId = ""//random req + userParam.name = "测试名称" + val gson = Gson() + val ret = mvc.perform(MockMvcRequestBuilders.post("/user/open").content(gson.toJson(userParam)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().isOk) + .andDo(MockMvcResultHandlers.print()) + .andReturn() + val res = ret.response.contentAsString + Assert.assertNotNull(res) + val retBean = gson.fromJson(res, RetBean::class.java) + Assert.assertNotNull(retBean) + Assert.assertEquals(0, retBean.retcode) + Assert.assertNotNull(retBean.userid) + Assert.assertNotEquals("", retBean.userid) + } + + @Test + fun get() { + val userParam = UserParam() + userParam.uniqueId = "testuseruniqueId"//测试用 + userParam.name = "测试名称:testuseruniqueId" + val gson = Gson() + val ret = mvc.perform(MockMvcRequestBuilders.post("/user/open").content(gson.toJson(userParam)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().isOk) + .andDo(MockMvcResultHandlers.print()) + .andReturn() + val resOpen = ret.response.contentAsString + Assert.assertNotNull(resOpen) + val retBeanOpen = gson.fromJson(resOpen, RetBean::class.java) + Assert.assertNotNull(retBeanOpen) + Assert.assertNotNull(retBeanOpen.userid) + userParam.userid = retBeanOpen.userid + + val retGet = mvc.perform(MockMvcRequestBuilders.get("/user/get").content(gson.toJson(userParam)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().isOk) + .andDo(MockMvcResultHandlers.print()) + .andReturn() + val res = retGet.response.contentAsString + Assert.assertNotNull(res) + val retBean = gson.fromJson(res, RetBean::class.java) + Assert.assertNotNull(retBean) + Assert.assertEquals(0, retBean.retcode) + Assert.assertNotNull(retBean.person) + Assert.assertEquals(retBeanOpen.userid, retBean.person.userid) + Assert.assertNotNull(retBeanOpen.account) + Assert.assertEquals(retBeanOpen.person.userid, retBean.account.userid) + } + +} \ No newline at end of file