合并分支 'dev' 到 'test'
Dev 查看合并请求 !11
正在显示
89 个修改的文件
包含
861 行增加
和
29 行删除
@@ -159,6 +159,39 @@ | @@ -159,6 +159,39 @@ | ||
159 | ### 分离领域 | 159 | ### 分离领域 |
160 | ![avatar](http://gitlab.fjmaimaimai.com/chenzhiying/img-folder/raw/master/dispatch.png) | 160 | ![avatar](http://gitlab.fjmaimaimai.com/chenzhiying/img-folder/raw/master/dispatch.png) |
161 | 161 | ||
162 | +## 标准产品组工具使用 | ||
163 | +- 设置全局变量(替换YOUR-USER-PATH为你真实的项目路径) | ||
164 | + | ||
165 | + 1.生成路径(项目生成路径):/YOUR-USER-PATH/GolandProjects/ | ||
166 | + | ||
167 | + 2.eggs根目录路径(领域描述语言DSL文档路径生成或引用路径):/YOUR-USER-PATH/GolandProjects/mmm-worth/document/ | ||
168 | + | ||
169 | + 3.egg名称(通常为项目名称,同样是DSL文件夹名称):mmm-worth | ||
170 | + | ||
171 | +- 应用描述语言生成 | ||
172 | + | ||
173 | + 1.应用描述语言egg脚手架生成 | ||
174 | + | ||
175 | + 2.生成属性(Attribute) | ||
176 | + | ||
177 | + 3.生成模式(Schema) | ||
178 | + | ||
179 | + 4.生成服务(Service) | ||
180 | + | ||
181 | + 5.生成接口(Api) | ||
182 | + | ||
183 | +- 具体工程生成 | ||
184 | + | ||
185 | + 1.生成接口文档(OpenApi) | ||
186 | + | ||
187 | + 2.生成项目代码脚手架 | ||
188 | + | ||
189 | + 3.生成领域模型 | ||
190 | + | ||
191 | + 4.生成应用服务 | ||
192 | + | ||
193 | + 5.生成Http协议接口 | ||
194 | + | ||
162 | ## 安装与使用 | 195 | ## 安装与使用 |
163 | [价值系统代码仓库地址](http://gitlab.fjmaimaimai.com/linmadan/mmm-worth) | 196 | [价值系统代码仓库地址](http://gitlab.fjmaimaimai.com/linmadan/mmm-worth) |
164 | ### 新建开发分支,如:xxx-dev,下载相应分支代码 | 197 | ### 新建开发分支,如:xxx-dev,下载相应分支代码 |
@@ -68,7 +68,7 @@ spec: | @@ -68,7 +68,7 @@ spec: | ||
68 | - name: ABILITY_SERVICE_HOST | 68 | - name: ABILITY_SERVICE_HOST |
69 | value: "https://suplus-worth-app-gateway-dev.fjmaimaimai.com" | 69 | value: "https://suplus-worth-app-gateway-dev.fjmaimaimai.com" |
70 | - name: MMM_OPEN_API_SERVICE_HOST | 70 | - name: MMM_OPEN_API_SERVICE_HOST |
71 | - value: "http://mmm-open-api-dev.fjmaimaimai.com" | 71 | + value: "https://mmm-open-api-dev.fjmaimaimai.com" |
72 | - name: LOG_PREFIX | 72 | - name: LOG_PREFIX |
73 | value: "[mmm-worth_dev]" | 73 | value: "[mmm-worth_dev]" |
74 | volumes: | 74 | volumes: |
@@ -68,7 +68,7 @@ spec: | @@ -68,7 +68,7 @@ spec: | ||
68 | - name: ABILITY_SERVICE_HOST | 68 | - name: ABILITY_SERVICE_HOST |
69 | value: "https://suplus-worth-app-gateway-test.fjmaimaimai.com" | 69 | value: "https://suplus-worth-app-gateway-test.fjmaimaimai.com" |
70 | - name: MMM_OPEN_API_SERVICE_HOST | 70 | - name: MMM_OPEN_API_SERVICE_HOST |
71 | - value: "http://mmm-open-api-test.fjmaimaimai.com" | 71 | + value: "https://mmm-open-api-test.fjmaimaimai.com" |
72 | - name: LOG_PREFIX | 72 | - name: LOG_PREFIX |
73 | value: "[mmm-worth_test]" | 73 | value: "[mmm-worth_test]" |
74 | volumes: | 74 | volumes: |
@@ -1218,7 +1218,7 @@ func (cashPoolService *CashPoolService) UpdateExchangeCashPerson(updateExchangeC | @@ -1218,7 +1218,7 @@ func (cashPoolService *CashPoolService) UpdateExchangeCashPerson(updateExchangeC | ||
1218 | activityFoundExchangedSuMoney := activityFound.ExchangedSuMoney | 1218 | activityFoundExchangedSuMoney := activityFound.ExchangedSuMoney |
1219 | activityFoundExchangedCash := activityFound.ExchangedCash | 1219 | activityFoundExchangedCash := activityFound.ExchangedCash |
1220 | 1220 | ||
1221 | - // 判断当前员工是否有效 | 1221 | + // TODO 更改:根据uid和companyId,判断当前员工是否有效 |
1222 | getEmployee := map[string]interface{}{ | 1222 | getEmployee := map[string]interface{}{ |
1223 | "account": personFound.EmployeeInfo.EmployeeAccount, | 1223 | "account": personFound.EmployeeInfo.EmployeeAccount, |
1224 | "companyId": activityFound.CompanyId, | 1224 | "companyId": activityFound.CompanyId, |
@@ -1535,7 +1535,7 @@ func (cashPoolService *CashPoolService) ImportCreateExchangeCashPerson(createExc | @@ -1535,7 +1535,7 @@ func (cashPoolService *CashPoolService) ImportCreateExchangeCashPerson(createExc | ||
1535 | cashPoolFoundUnExchangeCash := cashPoolFound.UnExchangeCash // 当前公司现金池未兑换现金 | 1535 | cashPoolFoundUnExchangeCash := cashPoolFound.UnExchangeCash // 当前公司现金池未兑换现金 |
1536 | cashPoolFoundExchangedCash := cashPoolFound.ExchangedCash // 当前公司现金池已兑换现金 | 1536 | cashPoolFoundExchangedCash := cashPoolFound.ExchangedCash // 当前公司现金池已兑换现金 |
1537 | 1537 | ||
1538 | - // 判断当前员工是否有效 | 1538 | + // TODO 更改:根据uid和companyId,判断当前员工是否有效 |
1539 | getEmployee := map[string]interface{}{ | 1539 | getEmployee := map[string]interface{}{ |
1540 | "account": createExchangeCashPersonCommand.PersonAccount, | 1540 | "account": createExchangeCashPersonCommand.PersonAccount, |
1541 | "companyId": activityFound.CompanyId, | 1541 | "companyId": activityFound.CompanyId, |
@@ -1563,7 +1563,7 @@ func (cashPoolService *CashPoolService) ImportCreateExchangeCashPerson(createExc | @@ -1563,7 +1563,7 @@ func (cashPoolService *CashPoolService) ImportCreateExchangeCashPerson(createExc | ||
1563 | } | 1563 | } |
1564 | employeeFoundSuMoney := employeeFound.SuMoney // 当前导入员工持有的素币值 | 1564 | employeeFoundSuMoney := employeeFound.SuMoney // 当前导入员工持有的素币值 |
1565 | 1565 | ||
1566 | - // 判断当前员工是否已经在素币兑换清单中 | 1566 | + // TODO 更改:根据uid和activityId判断当前员工是否已经在素币兑换清单中, |
1567 | personFound, _ := exchangeCashPersonListRepository.FindOne(map[string]interface{}{ | 1567 | personFound, _ := exchangeCashPersonListRepository.FindOne(map[string]interface{}{ |
1568 | "employeeAccount": employeeFound.EmployeeInfo.EmployeeAccount, | 1568 | "employeeAccount": employeeFound.EmployeeInfo.EmployeeAccount, |
1569 | "activityId": activityFound.ActivityId, | 1569 | "activityId": activityFound.ActivityId, |
@@ -5,7 +5,7 @@ import "os" | @@ -5,7 +5,7 @@ import "os" | ||
5 | const SERVICE_NAME = "mmm-worth" | 5 | const SERVICE_NAME = "mmm-worth" |
6 | 6 | ||
7 | var ABILITY_SERVICE_HOST = "https://suplus-worth-app-gateway-dev.fjmaimaimai.com" | 7 | var ABILITY_SERVICE_HOST = "https://suplus-worth-app-gateway-dev.fjmaimaimai.com" |
8 | -var MMM_OPEN_API_SERVICE_HOST = "http://mmm-open-api-dev.fjmaimaimai.com" | 8 | +var MMM_OPEN_API_SERVICE_HOST = "https://mmm-open-api-dev.fjmaimaimai.com" |
9 | 9 | ||
10 | var LOG_LEVEL = "debug" | 10 | var LOG_LEVEL = "debug" |
11 | var LOG_File = "logs/app.log" | 11 | var LOG_File = "logs/app.log" |
pkg/domain/service/mutation_cash_pool.go
0 → 100644
1 | package cash_pool | 1 | package cash_pool |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "github.com/go-pg/pg" | ||
4 | "net/http" | 5 | "net/http" |
6 | + "time" | ||
5 | 7 | ||
6 | "github.com/gavv/httpexpect" | 8 | "github.com/gavv/httpexpect" |
7 | . "github.com/onsi/ginkgo" | 9 | . "github.com/onsi/ginkgo" |
@@ -10,14 +12,46 @@ import ( | @@ -10,14 +12,46 @@ import ( | ||
10 | ) | 12 | ) |
11 | 13 | ||
12 | var _ = Describe("投入现金", func() { | 14 | var _ = Describe("投入现金", func() { |
13 | - Describe("投入现金并更新现金池数据", func() { | ||
14 | - Context("提交正确的现金值(>=已兑换的现金)", func() { | ||
15 | - It("返回现金池数据", func() { | 15 | + var ( |
16 | + cashPoolId int64 | ||
17 | + cash float64 | ||
18 | + ) | ||
19 | + BeforeEach(func() { | ||
20 | + _, err := pG.DB.QueryOne( | ||
21 | + pg.Scan( &cashPoolId, &cash), | ||
22 | + "INSERT INTO cash_pools (cash, company_id, exchanged_cash, un_exchange_cash, exchanged_su_money, un_exchange_su_money, rate, last_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, cash, company_id, exchanged_cash, un_exchange_cash, exchanged_su_money, un_exchange_su_money, rate, last_rate, create_time", | ||
23 | + 100, 312, 100, 10001, 0, 0, 0, 0, time.Now) | ||
24 | + Expect(err).NotTo(HaveOccurred()) | ||
25 | + }) | ||
26 | + Describe("投入现金到现金池", func() { | ||
27 | + Context("投入错误的金额", func() { | ||
28 | + It("返回现金池错误数据", func() { | ||
16 | httpExpect := httpexpect.New(GinkgoT(), server.URL) | 29 | httpExpect := httpexpect.New(GinkgoT(), server.URL) |
17 | body := map[string]interface{}{ | 30 | body := map[string]interface{}{ |
18 | - "cashAmount": 100, | 31 | + "cash": 99, |
32 | + "companyId": 312, | ||
33 | + } | ||
34 | + httpExpect.POST("/cash-pool/input"). | ||
35 | + WithJSON(body). | ||
36 | + Expect(). | ||
37 | + Status(http.StatusOK). | ||
38 | + JSON(). | ||
39 | + Object(). | ||
40 | + ContainsKey("code").ValueEqual("code", 501). | ||
41 | + ContainsKey("msg").ValueEqual("msg", "投入的现金值必须大于当前已兑换现金值"). | ||
42 | + NotContainsKey("data").Value("data").Object() | ||
43 | + }) | ||
44 | + }) | ||
45 | + }) | ||
46 | + Describe("投入现金到现金池", func() { | ||
47 | + Context("投入正确的金额", func() { | ||
48 | + It("返回正确现金池数据", func() { | ||
49 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
50 | + body := map[string]interface{} { | ||
51 | + "cash": 100, | ||
52 | + "companyId": 312, | ||
19 | } | 53 | } |
20 | - httpExpect.POST("/cash_pool/input"). | 54 | + httpExpect.POST("/cash-pool/input"). |
21 | WithJSON(body). | 55 | WithJSON(body). |
22 | Expect(). | 56 | Expect(). |
23 | Status(http.StatusOK). | 57 | Status(http.StatusOK). |
1 | -package cash_pool |
1 | -package cash_pool |
1 | +/** | ||
2 | + @author: stevechan | ||
3 | + @date: 2021/2/23 | ||
4 | + @note: | ||
5 | +**/ | ||
6 | + | ||
7 | +package cash_pool | ||
8 | + | ||
9 | +import ( | ||
10 | + "github.com/go-pg/pg" | ||
11 | + "net/http" | ||
12 | + "time" | ||
13 | + | ||
14 | + "github.com/gavv/httpexpect" | ||
15 | + . "github.com/onsi/ginkgo" | ||
16 | + . "github.com/onsi/gomega" | ||
17 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
18 | +) | ||
19 | + | ||
20 | +var _ = Describe("返回现金池数据", func() { | ||
21 | + var ( | ||
22 | + cashPoolId int64 | ||
23 | + cash float64 | ||
24 | + ) | ||
25 | + BeforeEach(func() { | ||
26 | + _, err := pG.DB.QueryOne( | ||
27 | + pg.Scan(&cashPoolId, &cash), | ||
28 | + "INSERT INTO cash_pools (cash, company_id, exchanged_cash, un_exchange_cash, exchanged_su_money, un_exchange_su_money, rate, last_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, cash, company_id, exchanged_cash, un_exchange_cash, exchanged_su_money, un_exchange_su_money, rate, last_rate, create_time", | ||
29 | + 100, 312, 100, 10001, 0, 0, 0, 0, time.Now) | ||
30 | + Expect(err).NotTo(HaveOccurred()) | ||
31 | + }) | ||
32 | + Describe("根据公司id返回现金池数据", func() { | ||
33 | + Context("传入有效的公司id", func() { | ||
34 | + It("返回现金池数据", func() { | ||
35 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
36 | + httpExpect.GET("/cash-pool/cash-pool?companyId=312"). | ||
37 | + Expect(). | ||
38 | + Status(http.StatusOK). | ||
39 | + JSON(). | ||
40 | + Object(). | ||
41 | + ContainsKey("code").ValueNotEqual("code", 0). | ||
42 | + ContainsKey("msg").ValueNotEqual("msg", "ok"). | ||
43 | + ContainsKey("data").Value("data").Object() | ||
44 | + }) | ||
45 | + }) | ||
46 | + }) | ||
47 | + AfterEach(func() { | ||
48 | + _, err := pG.DB.Exec("DELETE FROM cash_pools WHERE true") | ||
49 | + Expect(err).NotTo(HaveOccurred()) | ||
50 | + }) | ||
51 | +}) |
1 | -package cash_pool |
1 | -package cash_pool |
1 | -package cash_pool |
1 | -package cash_pool |
1 | -package cash_pool |
1 | -package cash_pool |
1 | -package cash_pool |
1 | +/** | ||
2 | + @author: stevechan | ||
3 | + @date: 2021/2/23 | ||
4 | + @note: | ||
5 | +**/ | ||
6 | + | ||
7 | +package exchange_activities | ||
8 | + | ||
9 | +import ( | ||
10 | + "net/http" | ||
11 | + | ||
12 | + "github.com/gavv/httpexpect" | ||
13 | + . "github.com/onsi/ginkgo" | ||
14 | + . "github.com/onsi/gomega" | ||
15 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
16 | +) | ||
17 | + | ||
18 | +var _ = Describe("创建素币兑换活动", func() { | ||
19 | + Describe("提交数据创建素币兑换活动", func() { | ||
20 | + Context("提交正确的新活动数据", func() { | ||
21 | + It("返回素币兑换活动数据", func() { | ||
22 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
23 | + body := map[string]interface{}{ | ||
24 | + "companyId": 311, | ||
25 | + "exchangeActivityName": "测试兑换活动", | ||
26 | + "deadline": "2021-01-07T16:00:00.000Z", | ||
27 | + "exchangeRate": 5.1, | ||
28 | + } | ||
29 | + httpExpect.POST("/cash-pool/activity"). | ||
30 | + WithJSON(body). | ||
31 | + Expect(). | ||
32 | + Status(http.StatusOK). | ||
33 | + JSON(). | ||
34 | + Object(). | ||
35 | + ContainsKey("code").ValueEqual("code", 0). | ||
36 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
37 | + ContainsKey("data").Value("data").Object() | ||
38 | + }) | ||
39 | + }) | ||
40 | + }) | ||
41 | + AfterEach(func(){ | ||
42 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_activities WHERE true") | ||
43 | + Expect(err).NotTo(HaveOccurred()) | ||
44 | + }) | ||
45 | +}) |
1 | +/** | ||
2 | + @author: stevechan | ||
3 | + @date: 2021/2/23 | ||
4 | + @note: | ||
5 | +**/ | ||
6 | + | ||
7 | +package exchange_activities | ||
8 | + | ||
9 | +import ( | ||
10 | + "github.com/onsi/ginkgo" | ||
11 | + "github.com/onsi/gomega" | ||
12 | + "net/http" | ||
13 | + "net/http/httptest" | ||
14 | + "testing" | ||
15 | + | ||
16 | + "github.com/astaxie/beego" | ||
17 | + _ "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
18 | + _ "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/port/beego" | ||
19 | +) | ||
20 | + | ||
21 | +func TestConfig(t *testing.T) { | ||
22 | + gomega.RegisterFailHandler(ginkgo.Fail) | ||
23 | + ginkgo.RunSpecs(t, "Beego Port Exchange Activities Correlations Test Case Suite") | ||
24 | +} | ||
25 | + | ||
26 | +var handler http.Handler | ||
27 | +var server *httptest.Server | ||
28 | + | ||
29 | +var _ = ginkgo.BeforeSuite(func() { | ||
30 | + handler = beego.BeeApp.Handlers | ||
31 | + server = httptest.NewServer(handler) | ||
32 | +}) | ||
33 | + | ||
34 | +var _ = ginkgo.AfterSuite(func() { | ||
35 | + server.Close() | ||
36 | +}) |
1 | +/** | ||
2 | + @author: stevechan | ||
3 | + @date: 2021/2/23 | ||
4 | + @note: | ||
5 | +**/ | ||
6 | + | ||
7 | +package exchange_activities | ||
8 | + | ||
9 | +import ( | ||
10 | + "net/http" | ||
11 | + "strconv" | ||
12 | + "time" | ||
13 | + | ||
14 | + "github.com/gavv/httpexpect" | ||
15 | + "github.com/go-pg/pg" | ||
16 | + . "github.com/onsi/ginkgo" | ||
17 | + . "github.com/onsi/gomega" | ||
18 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
19 | +) | ||
20 | + | ||
21 | +var _ = Describe("返回素币兑换活动", func() { | ||
22 | + var ( | ||
23 | + exchangeCashActivityId int64 | ||
24 | + ) | ||
25 | + BeforeEach(func() { | ||
26 | + _, err := pG.DB.QueryOne( | ||
27 | + pg.Scan(&exchangeCashActivityId), | ||
28 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
29 | + 311, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
30 | + Expect(err).NotTo(HaveOccurred()) | ||
31 | + }) | ||
32 | + Describe("根据activityId返回活动", func(){ | ||
33 | + Context("传入有效的activityId", func() { | ||
34 | + It("返回活动数据", func() { | ||
35 | + activityIdStr := strconv.FormatInt(exchangeCashActivityId, 10) | ||
36 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
37 | + httpExpect.GET("/cash-pool/activity/" + activityIdStr). | ||
38 | + Expect(). | ||
39 | + Status(http.StatusOK). | ||
40 | + JSON(). | ||
41 | + Object(). | ||
42 | + ContainsKey("code").ValueEqual("code", 0). | ||
43 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
44 | + ContainsKey("data").Value("data").Object() | ||
45 | + }) | ||
46 | + }) | ||
47 | + }) | ||
48 | + AfterEach(func() { | ||
49 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_activities WHERE true") | ||
50 | + Expect(err).NotTo(HaveOccurred()) | ||
51 | + }) | ||
52 | +}) |
1 | +package exchange_activities | ||
2 | + | ||
3 | +import ( | ||
4 | + "net/http" | ||
5 | + "time" | ||
6 | + | ||
7 | + "github.com/gavv/httpexpect" | ||
8 | + "github.com/go-pg/pg" | ||
9 | + . "github.com/onsi/ginkgo" | ||
10 | + . "github.com/onsi/gomega" | ||
11 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
12 | +) | ||
13 | + | ||
14 | +var _ = Describe("返回兑换活动列表", func() { | ||
15 | + var ( | ||
16 | + exchangeCashActivityId int64 | ||
17 | + ) | ||
18 | + BeforeEach(func() { | ||
19 | + _, err := pG.DB.QueryOne( | ||
20 | + pg.Scan(&exchangeCashActivityId), | ||
21 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
22 | + 311, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
23 | + Expect(err).NotTo(HaveOccurred()) | ||
24 | + }) | ||
25 | + Describe("根据参数返回素币兑换活动列表", func() { | ||
26 | + Context("传入有效的参数", func() { | ||
27 | + It("返回素币兑换清单列表", func() { | ||
28 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
29 | + httpExpect.GET("/cash-pool/activity/?companyId=311&offset=0&limit=20"). | ||
30 | + WithQuery("companyId", 311). | ||
31 | + WithQuery("offset", 0). | ||
32 | + WithQuery("limit", 1). | ||
33 | + Expect(). | ||
34 | + Status(http.StatusOK). | ||
35 | + JSON(). | ||
36 | + Object(). | ||
37 | + ContainsKey("code").ValueEqual("code", 0). | ||
38 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
39 | + ContainsKey("data").Value("data").Object(). | ||
40 | + ContainsKey("count").ValueEqual("count", 1) | ||
41 | + }) | ||
42 | + }) | ||
43 | + }) | ||
44 | + AfterEach(func() { | ||
45 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_activities WHERE true") | ||
46 | + Expect(err).NotTo(HaveOccurred()) | ||
47 | + }) | ||
48 | +}) |
1 | +package exchange_activities | ||
2 | + | ||
3 | +import ( | ||
4 | + "net/http" | ||
5 | + "strconv" | ||
6 | + "time" | ||
7 | + | ||
8 | + "github.com/gavv/httpexpect" | ||
9 | + "github.com/go-pg/pg" | ||
10 | + . "github.com/onsi/ginkgo" | ||
11 | + . "github.com/onsi/gomega" | ||
12 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
13 | +) | ||
14 | + | ||
15 | +var _ = Describe("移除素币兑换活动", func() { | ||
16 | + var ( | ||
17 | + activityId int64 | ||
18 | + ) | ||
19 | + BeforeEach(func() { | ||
20 | + _, err := pG.DB.QueryOne( | ||
21 | + pg.Scan(&activityId), | ||
22 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
23 | + 311, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
24 | + Expect(err).NotTo(HaveOccurred()) | ||
25 | + }) | ||
26 | + Describe("根据参数移除素币兑换活动", func() { | ||
27 | + Context("传入有效的活动id", func() { | ||
28 | + It("返回被删除的素币兑换活动数据", func() { | ||
29 | + activityIdStr := strconv.FormatInt(activityId, 10) | ||
30 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
31 | + httpExpect.DELETE("/cash-pool/activity/" + activityIdStr). | ||
32 | + Expect(). | ||
33 | + Status(http.StatusOK). | ||
34 | + JSON(). | ||
35 | + Object(). | ||
36 | + ContainsKey("code").ValueEqual("code", 0). | ||
37 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
38 | + ContainsKey("data").Value("data").Object() | ||
39 | + }) | ||
40 | + }) | ||
41 | + }) | ||
42 | + AfterEach(func() { | ||
43 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_activities WHERE true") | ||
44 | + Expect(err).NotTo(HaveOccurred()) | ||
45 | + }) | ||
46 | +}) |
1 | +/** | ||
2 | + @author: stevechan | ||
3 | + @date: 2021/2/23 | ||
4 | + @note: | ||
5 | +**/ | ||
6 | + | ||
7 | +package exchange_activities | ||
8 | + | ||
9 | +import ( | ||
10 | + "net/http" | ||
11 | + "time" | ||
12 | + | ||
13 | + "github.com/gavv/httpexpect" | ||
14 | + "github.com/go-pg/pg" | ||
15 | + . "github.com/onsi/ginkgo" | ||
16 | + . "github.com/onsi/gomega" | ||
17 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
18 | +) | ||
19 | + | ||
20 | +var _ = Describe("搜索素币兑换活动", func() { | ||
21 | + var activityId int64 | ||
22 | + BeforeEach(func() { | ||
23 | + _, err := pG.DB.QueryOne( | ||
24 | + pg.Scan(&activityId), | ||
25 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
26 | + 312, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
27 | + Expect(err).NotTo(HaveOccurred()) | ||
28 | + }) | ||
29 | + Describe("搜索素币兑换活动", func() { | ||
30 | + Context("指定搜索条件", func() { | ||
31 | + It("返回搜索结果", func() { | ||
32 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
33 | + body := map[string]interface{} { | ||
34 | + "companyId": 312, | ||
35 | + "deadline": "", | ||
36 | + "activityNameMatch": "测试活动", | ||
37 | + "offset": 0, | ||
38 | + "limit": 20, | ||
39 | + } | ||
40 | + httpExpect.POST("/cash-pool/activity/search-activity"). | ||
41 | + WithJSON(body). | ||
42 | + Expect(). | ||
43 | + Status(http.StatusOK). | ||
44 | + JSON(). | ||
45 | + Object(). | ||
46 | + ContainsKey("code").ValueEqual("code", 0). | ||
47 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
48 | + ContainsKey("data").Value("data").Object() | ||
49 | + }) | ||
50 | + }) | ||
51 | + }) | ||
52 | + AfterEach(func() { | ||
53 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_activities WHERE true") | ||
54 | + Expect(err).NotTo(HaveOccurred()) | ||
55 | + }) | ||
56 | +}) |
1 | +package exchange_activities | ||
2 | + | ||
3 | + | ||
4 | +import ( | ||
5 | + "net/http" | ||
6 | + "time" | ||
7 | + | ||
8 | + "github.com/gavv/httpexpect" | ||
9 | + "github.com/go-pg/pg" | ||
10 | + . "github.com/onsi/ginkgo" | ||
11 | + . "github.com/onsi/gomega" | ||
12 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
13 | +) | ||
14 | + | ||
15 | +var _ = Describe("更新素币兑换活动", func() { | ||
16 | + var activityId int64 | ||
17 | + BeforeEach(func() { | ||
18 | + _, err := pG.DB.QueryOne( | ||
19 | + pg.Scan(&activityId), | ||
20 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
21 | + 311, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
22 | + Expect(err).NotTo(HaveOccurred()) | ||
23 | + }) | ||
24 | + Describe("提交数据更新素币兑换活动", func() { | ||
25 | + Context("提交正确的素币兑换活动数据", func() { | ||
26 | + It("返回更新后的素币兑换活动数据", func() { | ||
27 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
28 | + body := map[string]interface{} { | ||
29 | + "exchangeActivityName": "这是更新后的公司311的兑换活动,哈哈哈", | ||
30 | + "deadline": "2020-12-14T23:59:59+08:00", | ||
31 | + "exchangeRate": 1.2, | ||
32 | + } | ||
33 | + httpExpect.PUT("/cash-pool/activity/"). | ||
34 | + WithJSON(body). | ||
35 | + Expect(). | ||
36 | + Status(http.StatusOK). | ||
37 | + JSON(). | ||
38 | + Object(). | ||
39 | + ContainsKey("code").ValueEqual("code", 0). | ||
40 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
41 | + ContainsKey("data").Value("data").Object(). | ||
42 | + ContainsKey("id").ValueEqual("id", activityId) | ||
43 | + }) | ||
44 | + }) | ||
45 | + }) | ||
46 | + AfterEach(func() { | ||
47 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_activities WHERE true") | ||
48 | + Expect(err).NotTo(HaveOccurred()) | ||
49 | + }) | ||
50 | +}) |
1 | +package exchange_list | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/go-pg/pg" | ||
5 | + "net/http" | ||
6 | + "time" | ||
7 | + | ||
8 | + "github.com/gavv/httpexpect" | ||
9 | + . "github.com/onsi/ginkgo" | ||
10 | + . "github.com/onsi/gomega" | ||
11 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
12 | +) | ||
13 | + | ||
14 | +var _ = Describe("创建素币兑换清单", func() { | ||
15 | + var activityId int64 | ||
16 | + BeforeEach(func() { | ||
17 | + _, err1 := pG.DB.QueryOne( | ||
18 | + pg.Scan(), | ||
19 | + "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, su_money) VALUES (?, ?, ?, ?, ?, ?)", | ||
20 | + 1, 101, 2499036607974745088, "testEmployeeName", "testEmployeeAccount", 100.00) | ||
21 | + Expect(err1).NotTo(HaveOccurred()) | ||
22 | + _, err2 := pG.DB.QueryOne( | ||
23 | + pg.Scan(), | ||
24 | + "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, su_money) VALUES (?, ?, ?, ?, ?, ?)", | ||
25 | + 2, 101, 2499036607974745099, "testEmployeeName", "testEmployeeAccount", 0) | ||
26 | + Expect(err2).NotTo(HaveOccurred()) | ||
27 | + _, err3 := pG.DB.QueryOne( | ||
28 | + pg.Scan(&activityId), | ||
29 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
30 | + 101, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
31 | + Expect(err3).NotTo(HaveOccurred()) | ||
32 | + }) | ||
33 | + Describe("提交数据创建素币兑换清单", func() { | ||
34 | + Context("提交正确的新建素币兑换清单数据", func() { | ||
35 | + It("返回素币兑换清单数据", func() { | ||
36 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
37 | + body := map[string]interface{} { | ||
38 | + "uid": 2499036607974745088, | ||
39 | + "exchangeCashActivityId": activityId, | ||
40 | + "exchangedSuMoney": 1.13, | ||
41 | + "operator": 2499036607974745099, | ||
42 | + } | ||
43 | + httpExpect.POST("/cash-pool/activity/exchange-list"). | ||
44 | + WithJSON(body). | ||
45 | + Expect(). | ||
46 | + Status(http.StatusOK). | ||
47 | + JSON(). | ||
48 | + Object(). | ||
49 | + ContainsKey("code").ValueEqual("code", 0). | ||
50 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
51 | + ContainsKey("data").Value("data").Object() | ||
52 | + }) | ||
53 | + }) | ||
54 | + }) | ||
55 | + AfterEach(func() { | ||
56 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_person_lists WHERE true") | ||
57 | + Expect(err).NotTo(HaveOccurred()) | ||
58 | + }) | ||
59 | +}) |
1 | +/** | ||
2 | + @author: stevechan | ||
3 | + @date: 2021/2/23 | ||
4 | + @note: | ||
5 | +**/ | ||
6 | + | ||
7 | +package exchange_list | ||
8 | + | ||
9 | +import ( | ||
10 | + "github.com/onsi/ginkgo" | ||
11 | + "github.com/onsi/gomega" | ||
12 | + "net/http" | ||
13 | + "net/http/httptest" | ||
14 | + "testing" | ||
15 | + | ||
16 | + "github.com/astaxie/beego" | ||
17 | + _ "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
18 | + _ "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/port/beego" | ||
19 | +) | ||
20 | + | ||
21 | +func TestConfig(t *testing.T) { | ||
22 | + gomega.RegisterFailHandler(ginkgo.Fail) | ||
23 | + ginkgo.RunSpecs(t, "Beego Port Exchange List Correlations Test Case Suite") | ||
24 | +} | ||
25 | + | ||
26 | +var handler http.Handler | ||
27 | +var server *httptest.Server | ||
28 | + | ||
29 | +var _ = ginkgo.BeforeSuite(func() { | ||
30 | + handler = beego.BeeApp.Handlers | ||
31 | + server = httptest.NewServer(handler) | ||
32 | +}) | ||
33 | + | ||
34 | +var _ = ginkgo.AfterSuite(func() { | ||
35 | + server.Close() | ||
36 | +}) |
1 | +package exchange_list |
不能预览此文件类型
1 | +/** | ||
2 | + @author: stevechan | ||
3 | + @date: 2021/2/25 | ||
4 | + @note: | ||
5 | +**/ | ||
6 | + | ||
7 | +package exchange_list | ||
8 | + | ||
9 | +import ( | ||
10 | + "net/http" | ||
11 | + "strconv" | ||
12 | + "time" | ||
13 | + | ||
14 | + "github.com/gavv/httpexpect" | ||
15 | + "github.com/go-pg/pg" | ||
16 | + . "github.com/onsi/ginkgo" | ||
17 | + . "github.com/onsi/gomega" | ||
18 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
19 | +) | ||
20 | + | ||
21 | +var _ = Describe("获取素币兑换人员清单", func() { | ||
22 | + var ( | ||
23 | + listId int64 | ||
24 | + ) | ||
25 | + BeforeEach(func() { | ||
26 | + var ( | ||
27 | + activityId int64 | ||
28 | + ) | ||
29 | + _, err1 := pG.DB.QueryOne( | ||
30 | + pg.Scan(&activityId), | ||
31 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
32 | + 101, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
33 | + Expect(err1).NotTo(HaveOccurred()) | ||
34 | + _, err2 := pG.DB.QueryOne( | ||
35 | + pg.Scan(&listId), | ||
36 | + "INSERT INTO exchange_cash_person_lists (activity_id, uid, employee_name, employee_account, exchanged_su_money, exchanged_cash) VALUES (100, 3242227175192320, '卞信华3', '18900000000', 1.13, 5.76,3) RETURNING id, activity_id, uid, employee_name, employee_acco, exchanged_su_money, exchanged_cash", | ||
37 | + activityId, 3242227175192320, "卞信华3", "18900000000", 1.13, 5.76, 3) | ||
38 | + Expect(err2).NotTo(HaveOccurred()) | ||
39 | + }) | ||
40 | + Describe("根据listId返回素币兑换清单", func() { | ||
41 | + Context("传入有效的listId", func() { | ||
42 | + It("返回素币兑换清单", func() { | ||
43 | + listIdStr := strconv.FormatInt(listId, 10) | ||
44 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
45 | + httpExpect.GET("/cash-pool/activity/exchange-list/"+listIdStr). | ||
46 | + Expect(). | ||
47 | + Status(http.StatusOK). | ||
48 | + JSON(). | ||
49 | + Object(). | ||
50 | + ContainsKey("code").ValueEqual("code", 0). | ||
51 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
52 | + ContainsKey("data").Value("data").Object() | ||
53 | + }) | ||
54 | + }) | ||
55 | + }) | ||
56 | + AfterEach(func() { | ||
57 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_person_lists WHERE true") | ||
58 | + Expect(err).NotTo(HaveOccurred()) | ||
59 | + }) | ||
60 | +}) |
1 | +package exchange_list | ||
2 | + | ||
3 | +import ( | ||
4 | + "net/http" | ||
5 | + "os" | ||
6 | + "strconv" | ||
7 | + "time" | ||
8 | + | ||
9 | + "github.com/gavv/httpexpect" | ||
10 | + "github.com/go-pg/pg" | ||
11 | + . "github.com/onsi/ginkgo" | ||
12 | + . "github.com/onsi/gomega" | ||
13 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
14 | +) | ||
15 | + | ||
16 | +var _ = Describe("导入素币兑换清单", func() { | ||
17 | + var ( | ||
18 | + activityId int64 | ||
19 | + ) | ||
20 | + BeforeEach(func() { | ||
21 | + | ||
22 | + _, err1 := pG.DB.QueryOne( | ||
23 | + pg.Scan(&activityId), | ||
24 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
25 | + 101, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
26 | + Expect(err1).NotTo(HaveOccurred()) | ||
27 | + }) | ||
28 | + Describe("通过excel文件导入素币兑换清单", func() { | ||
29 | + Context("传入有效的素币兑换清单文件", func() { | ||
30 | + It("返回素币兑换清单导入结果", func() { | ||
31 | + activityIdStr := strconv.FormatInt(activityId, 10) | ||
32 | + fh, _ := os.Open("./files/素币兑换清单模板.xlsx") | ||
33 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
34 | + httpExpect.POST("/cash-pool/activity/exchange-list/import"). | ||
35 | + WithFormField("where", "{\"activityId\": \""+activityIdStr+"\", \"uid\": 3289819024952064}"). | ||
36 | + WithFile("file", "素币兑换清单模板.xlsx", fh). | ||
37 | + Expect(). | ||
38 | + Status(http.StatusOK). | ||
39 | + JSON(). | ||
40 | + Object(). | ||
41 | + ContainsKey("code").ValueEqual("code", 0). | ||
42 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
43 | + ContainsKey("data").Value("data").Object() | ||
44 | + | ||
45 | + _ = fh.Close() | ||
46 | + }) | ||
47 | + }) | ||
48 | + }) | ||
49 | + AfterEach(func() { | ||
50 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_person_lists WHERE true") | ||
51 | + Expect(err).NotTo(HaveOccurred()) | ||
52 | + }) | ||
53 | +}) |
1 | +package exchange_list | ||
2 | + | ||
3 | +import ( | ||
4 | + "net/http" | ||
5 | + "time" | ||
6 | + | ||
7 | + "github.com/gavv/httpexpect" | ||
8 | + "github.com/go-pg/pg" | ||
9 | + . "github.com/onsi/ginkgo" | ||
10 | + . "github.com/onsi/gomega" | ||
11 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
12 | +) | ||
13 | + | ||
14 | +var _ = Describe("获取素币兑换人员清单列表", func() { | ||
15 | + var ( | ||
16 | + listId int64 | ||
17 | + ) | ||
18 | + BeforeEach(func() { | ||
19 | + var ( | ||
20 | + activityId int64 | ||
21 | + ) | ||
22 | + _, err1 := pG.DB.QueryOne( | ||
23 | + pg.Scan(&activityId), | ||
24 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
25 | + 101, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
26 | + Expect(err1).NotTo(HaveOccurred()) | ||
27 | + _, err2 := pG.DB.QueryOne( | ||
28 | + pg.Scan(&listId), | ||
29 | + "INSERT INTO exchange_cash_person_lists (activity_id, uid, employee_name, employee_account, exchanged_su_money, exchanged_cash) VALUES (100, 3242227175192320, '卞信华3', '18900000000', 1.13, 5.76,3) RETURNING id, activity_id, uid, employee_name, employee_acco, exchanged_su_money, exchanged_cash", | ||
30 | + activityId, 3242227175192320, "卞信华3", "18900000000", 1.13, 5.76, 3) | ||
31 | + Expect(err2).NotTo(HaveOccurred()) | ||
32 | + }) | ||
33 | + Describe("返回素币兑换清单列表", func() { | ||
34 | + Context("传入有效的参数", func() { | ||
35 | + It("返回素币兑换清单列表", func() { | ||
36 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
37 | + httpExpect.GET("/cash-pool/activity/exchange-list"). | ||
38 | + WithQuery("companyId", 101). | ||
39 | + WithQuery("offset", 0). | ||
40 | + WithQuery("limit", 1). | ||
41 | + Expect(). | ||
42 | + Status(http.StatusOK). | ||
43 | + JSON(). | ||
44 | + Object(). | ||
45 | + ContainsKey("code").ValueEqual("code", 0). | ||
46 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
47 | + ContainsKey("data").Value("data").Object(). | ||
48 | + ContainsKey("count").ValueEqual("count", 1). | ||
49 | + ContainsKey("people").Value("people").Array() | ||
50 | + }) | ||
51 | + }) | ||
52 | + }) | ||
53 | + AfterEach(func() { | ||
54 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_person_lists WHERE true") | ||
55 | + Expect(err).NotTo(HaveOccurred()) | ||
56 | + }) | ||
57 | +}) |
1 | +package exchange_list | ||
2 | + | ||
3 | +import ( | ||
4 | + "net/http" | ||
5 | + "strconv" | ||
6 | + "time" | ||
7 | + | ||
8 | + "github.com/gavv/httpexpect" | ||
9 | + "github.com/go-pg/pg" | ||
10 | + . "github.com/onsi/ginkgo" | ||
11 | + . "github.com/onsi/gomega" | ||
12 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
13 | +) | ||
14 | + | ||
15 | +var _ = Describe("删除素币兑换清单", func() { | ||
16 | + var ( | ||
17 | + listId int64 | ||
18 | + ) | ||
19 | + BeforeEach(func() { | ||
20 | + var ( | ||
21 | + activityId int64 | ||
22 | + ) | ||
23 | + _, err1 := pG.DB.QueryOne( | ||
24 | + pg.Scan(&activityId), | ||
25 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
26 | + 101, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
27 | + Expect(err1).NotTo(HaveOccurred()) | ||
28 | + _, err2 := pG.DB.QueryOne( | ||
29 | + pg.Scan(&listId), | ||
30 | + "INSERT INTO exchange_cash_person_lists (activity_id, uid, employee_name, employee_account, exchanged_su_money, exchanged_cash) VALUES (100, 3242227175192320, '卞信华3', '18900000000', 1.13, 5.76,3) RETURNING id, activity_id, uid, employee_name, employee_acco, exchanged_su_money, exchanged_cash", | ||
31 | + activityId, 3242227175192320, "卞信华3", "18900000000", 1.13, 5.76, 3) | ||
32 | + Expect(err2).NotTo(HaveOccurred()) | ||
33 | + }) | ||
34 | + Describe("根据listId删除素币兑换清单", func() { | ||
35 | + Context("传入有效的listId", func() { | ||
36 | + It("返回已删除的素币兑换清单", func() { | ||
37 | + listIdStr := strconv.FormatInt(listId, 10) | ||
38 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
39 | + httpExpect.DELETE("/cash-pool/activity/exchange-list/"+listIdStr). | ||
40 | + WithQuery("operator", 3242227175192320). | ||
41 | + Expect(). | ||
42 | + Status(http.StatusOK). | ||
43 | + JSON(). | ||
44 | + Object(). | ||
45 | + ContainsKey("code").ValueEqual("code", 0). | ||
46 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
47 | + ContainsKey("data").Value("data").Object() | ||
48 | + }) | ||
49 | + }) | ||
50 | + }) | ||
51 | + AfterEach(func() { | ||
52 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_person_lists WHERE true") | ||
53 | + Expect(err).NotTo(HaveOccurred()) | ||
54 | + }) | ||
55 | +}) |
1 | +package exchange_list | ||
2 | + | ||
3 | +import ( | ||
4 | + "net/http" | ||
5 | + "strconv" | ||
6 | + "time" | ||
7 | + | ||
8 | + "github.com/gavv/httpexpect" | ||
9 | + "github.com/go-pg/pg" | ||
10 | + . "github.com/onsi/ginkgo" | ||
11 | + . "github.com/onsi/gomega" | ||
12 | + pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | ||
13 | +) | ||
14 | + | ||
15 | +var _ = Describe("更新素币兑换人员清单", func() { | ||
16 | + var ( | ||
17 | + listId int64 | ||
18 | + ) | ||
19 | + BeforeEach(func() { | ||
20 | + var ( | ||
21 | + activityId int64 | ||
22 | + ) | ||
23 | + _, err1 := pG.DB.QueryOne( | ||
24 | + pg.Scan(&activityId), | ||
25 | + "INSERT INTO exchange_cash_activities ( company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, activity_name, deadline, count_down, exchanged_cash, exchanged_su_money, exchange_rate, create_time", | ||
26 | + 101, "测试活动", "2021-02-08 15:59:59+00:00:00", 0, 0, 0, 5.1, time.Now()) | ||
27 | + Expect(err1).NotTo(HaveOccurred()) | ||
28 | + _, err2 := pG.DB.QueryOne( | ||
29 | + pg.Scan(&listId), | ||
30 | + "INSERT INTO exchange_cash_person_lists (activity_id, uid, employee_name, employee_account, exchanged_su_money, exchanged_cash) VALUES (100, 3242227175192320, '卞信华3', '18900000000', 1.13, 5.76,3) RETURNING id, activity_id, uid, employee_name, employee_acco, exchanged_su_money, exchanged_cash", | ||
31 | + activityId, 3242227175192320, "卞信华3", "18900000000", 1.13, 5.76, 3) | ||
32 | + Expect(err2).NotTo(HaveOccurred()) | ||
33 | + }) | ||
34 | + Describe("根据listId更新素币兑换清单", func() { | ||
35 | + Context("传入有效的listId", func() { | ||
36 | + It("返回已更新的素币兑换清单", func() { | ||
37 | + listIdStr := strconv.FormatInt(listId, 10) | ||
38 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
39 | + body := map[string]interface{}{ | ||
40 | + "exchangedSuMoney": 13, | ||
41 | + "operator": 3242227175192320, | ||
42 | + } | ||
43 | + httpExpect.PUT("/cash-pool/activity/exchange-list/"+listIdStr). | ||
44 | + WithJSON(body). | ||
45 | + Expect(). | ||
46 | + Status(http.StatusOK). | ||
47 | + JSON(). | ||
48 | + Object(). | ||
49 | + ContainsKey("code").ValueEqual("code", 0). | ||
50 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
51 | + ContainsKey("data").Value("data").Object(). | ||
52 | + ContainsKey("listId").ValueEqual("listId", listId) | ||
53 | + }) | ||
54 | + }) | ||
55 | + }) | ||
56 | + AfterEach(func() { | ||
57 | + _, err := pG.DB.Exec("DELETE FROM exchange_cash_person_lists WHERE true") | ||
58 | + Expect(err).NotTo(HaveOccurred()) | ||
59 | + }) | ||
60 | +}) |
-
请 注册 或 登录 后发表评论