go-common/app/job/main/creative/dao/weeklyhonor/rpc_test.go
2019-04-22 18:49:16 +08:00

97 lines
2.8 KiB
Go

package weeklyhonor
import (
"context"
"fmt"
"testing"
whmdl "go-common/app/interface/main/creative/model/weeklyhonor"
upgrpc "go-common/app/service/main/up/api/v1"
"github.com/golang/mock/gomock"
"github.com/smartystreets/goconvey/convey"
)
var c = context.Background()
func TestWeeklyhonorUpCount(t *testing.T) {
convey.Convey("UpCount", t, func(ctx convey.C) {
var (
mid = int64(1627855)
)
ctx.Convey("When everything gose positive", func(ctx convey.C) {
count, err := d.UpCount(c, mid)
ctx.Convey("Then err should be nil.count should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(count, convey.ShouldNotBeNil)
})
})
})
}
func TestWeeklyhonorUpActiveLists(t *testing.T) {
convey.Convey("UpActivesList", t, func(ctx convey.C) {
ctx.Convey("When everything gose positive", WithMock(t, func(mockCtrl *gomock.Controller) {
// mock
mockUpClient := upgrpc.NewMockUpClient(mockCtrl)
d.upClient = mockUpClient
mockReq := upgrpc.UpListByLastIDReq{
LastID: 0,
Ps: 100,
}
mockReply := upgrpc.UpActivityListReply{
UpActivitys: []*upgrpc.UpActivity{
{Mid: 1},
{Activity: 2},
},
LastID: 1,
}
mockUpClient.EXPECT().UpInfoActivitys(gomock.Any(), &mockReq).Return(&mockReply, nil)
// test
upActives, newId, err := d.UpActivesList(c, 0, 100)
ctx.Convey("Then err should be nil.count should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(upActives[0], convey.ShouldEqual, mockReply.UpActivitys[0])
ctx.So(newId, convey.ShouldEqual, mockReply.LastID)
})
}))
})
}
func TestWeeklyhonorGetUpSwitch(t *testing.T) {
convey.Convey("GetUpSwitch", t, WithMock(t, func(mockCtrl *gomock.Controller) {
var (
c = context.Background()
mid = int64(75379101)
)
convey.Convey("When everything gose positive", func(ctx convey.C) {
mockUpClient := upgrpc.NewMockUpClient(mockCtrl)
d.upClient = mockUpClient
mockReq := upgrpc.UpSwitchReq{
Mid: mid,
From: fromWeeklyHonor,
}
mockState := whmdl.HonorUnSub
mockUpClient.EXPECT().UpSwitch(gomock.Any(), &mockReq).Return(&upgrpc.UpSwitchReply{State: mockState}, nil)
state, err := d.GetUpSwitch(c, mid)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(state, convey.ShouldEqual, mockState)
})
})
convey.Convey("When return err", func(ctx convey.C) {
mockUpClient := upgrpc.NewMockUpClient(mockCtrl)
d.upClient = mockUpClient
mockReq := upgrpc.UpSwitchReq{
Mid: mid,
From: fromWeeklyHonor,
}
mockUpClient.EXPECT().UpSwitch(gomock.Any(), &mockReq).Return(nil, fmt.Errorf("mock err"))
_, err := d.GetUpSwitch(c, mid)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldNotBeNil)
})
})
}))
}