go-common/app/interface/main/creative/dao/newcomer/api_test.go
2019-04-22 18:49:16 +08:00

108 lines
2.6 KiB
Go

package newcomer
import (
"context"
"go-common/library/ecode"
"testing"
"strings"
"github.com/smartystreets/goconvey/convey"
"gopkg.in/h2non/gock.v1"
)
func TestNewcomerMall(t *testing.T) {
var (
c = context.Background()
mid = int64(27515308)
couponID = "ef89b24b3951429b"
uname = "test"
)
convey.Convey("Mall", t, func(ctx convey.C) {
defer gock.OffAll()
httpMock("POST", d.mallURI).Reply(200).JSON(`{"code":20062}`)
err := d.Mall(c, mid, couponID, uname)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldNotBeNil)
})
})
}
func TestNewcomerBCoin(t *testing.T) {
var (
c = context.Background()
mid = int64(27515406)
money = int64(1)
aid = "217"
)
convey.Convey("BCoin", t, func(ctx convey.C) {
defer gock.OffAll()
httpMock("POST", d.bPayURI).Reply(200).JSON(`{"code":20063}`)
err := d.BCoin(c, mid, aid, money)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldNotBeNil)
})
})
}
func TestNewcomerPendant(t *testing.T) {
var (
c = context.Background()
mid = int64(27515406)
PID = "4"
expires = int64(1)
err error
)
convey.Convey("Pendant", t, func(ctx convey.C) {
defer gock.OffAll()
httpMock("POST", d.pendantURI).Reply(200).JSON(`{"code":20064}`)
err = d.Pendant(c, mid, PID, expires)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldNotBeNil)
ctx.So(err, convey.ShouldEqual, ecode.CreativeNewcomerPendantAPIErr)
})
})
}
func TestNewcomerBigMemberCoupon(t *testing.T) {
var (
c = context.Background()
mid = int64(27515308)
batchToken = "841764801720181030122848"
)
convey.Convey("BigMemberCoupon", t, func(ctx convey.C) {
defer gock.OffAll()
httpMock("POST", d.bigMemberURI).Reply(200).JSON(`{"code":20069}`)
err := d.BigMemberCoupon(c, mid, batchToken)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldNotBeNil)
})
})
}
func httpMock(method, url string) *gock.Request {
r := gock.New(url)
r.Method = strings.ToUpper(method)
d.client.SetTransport(gock.DefaultTransport)
return r
}
func TestNewcomerSendNotify(t *testing.T) {
convey.Convey("SendNotify", t, func(ctx convey.C) {
var (
c = context.Background()
mids = []int64{27515405}
mc = "1_17_4"
title = "creative"
context = "sssss"
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.SendNotify(c, mids, mc, title, context)
ctx.Convey("Then err should be nil.msg should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldEqual, err)
})
})
})
}