update_company_test.go 2.3 KB
package company

import (
	"fmt"
	"github.com/go-pg/pg/v10"
	"gitlab.fjmaimaimai.com/mmm-go-pp/partner01/pkg/domain"
	"net/http"
	"time"

	"github.com/gavv/httpexpect"
	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
	pG "gitlab.fjmaimaimai.com/mmm-go-pp/partner01/pkg/infrastructure/pg"
)

var _ = Describe("更新", func() {
	var companyId int64
	var newCompany *domain.Company
	BeforeEach(func() {
		newCompany = &domain.Company{
			CompanyId: GinkgoRandomSeed(),
			CompanyInfo: &domain.CompanyInfo{
				Name:         "公司名称", // 公司名称
				Abbreviation: "公司简称", // 公司简称
				Logo:         "",     // 公司logo
				Phone:        "",     // 公司联系电话
				Status:       1,      // 状态 1正常 2禁用
				Remarks:      "备注",   // 备注
				Enable:       1,      // 是否有效【1:有效】【2:无效】
				Admin: &domain.CompanyAdmin{
					UserAccount: fmt.Sprint(GinkgoRandomSeed()), // 用户手机号
					UserName:    "用户名称",                         // 用户名称
				},                    // 公司主管理员
			},
			CreateAt: time.Now(),
			UpdateAt: time.Now(),
		}

		_, err := pG.DB.QueryOne(
			pg.Scan(&companyId),
			"INSERT INTO companies (company_id, company_info, create_at, update_at) VALUES (?, ?, ?, ?) RETURNING company_id",
			newCompany.CompanyId, newCompany.CompanyInfo, newCompany.CreateAt, newCompany.UpdateAt)

		Expect(err).NotTo(HaveOccurred())
	})
	Describe("提交数据更新", func() {
		Context("提交正确的公司信息数据", func() {
			It("返回更新后的公司信息数据", func() {
				httpExpect := httpexpect.New(GinkgoT(), server.URL)
				body := map[string]interface{}{
					"name":         "string",
					"abbreviation": "string",
					"status":       1,
					"remarks":      "string",
					"userAccount":  "string",
					"userName":     "string",
				}
				httpExpect.PUT("/companies/" + fmt.Sprint(GinkgoRandomSeed())).
					WithJSON(body).
					Expect().
					Status(http.StatusOK).
					JSON().
					Object().
					ContainsKey("code").ValueEqual("code", 0).
					ContainsKey("msg").ValueEqual("msg", "ok").
					ContainsKey("data").Value("data").Object().
					ContainsKey("companyId").ValueEqual("companyId", companyId)
			})
		})
	})
	AfterEach(func() {
		_, err := pG.DB.Exec("DELETE FROM companies WHERE true")
		Expect(err).NotTo(HaveOccurred())
	})
})