123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- package dao
- import (
- "context"
- "fmt"
- "testing"
- "go-common/app/service/main/thumbup/model"
- "github.com/smartystreets/goconvey/convey"
- )
- func TestDaoBusinesses(t *testing.T) {
- var (
- c = context.TODO()
- )
- convey.Convey("Businesses", t, func(ctx convey.C) {
- res, err := d.Businesses(c)
- ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- ctx.So(res, convey.ShouldNotBeNil)
- })
- })
- }
- func TestDaoLikeState(t *testing.T) {
- var (
- c = context.TODO()
- mid = int64(1)
- businessID = int64(1)
- originID = int64(1)
- messageID = int64(1)
- )
- convey.Convey("LikeState", t, func(ctx convey.C) {
- res, err := d.LikeState(c, mid, businessID, originID, messageID)
- ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- ctx.So(res, convey.ShouldNotBeNil)
- })
- })
- }
- func TestDaoUserLikeCount(t *testing.T) {
- var (
- c = context.TODO()
- businessID = int64(1)
- mid = int64(1)
- typ = int8(1)
- )
- convey.Convey("UserLikeCount", t, func(ctx convey.C) {
- res, err := d.UserLikeCount(c, businessID, mid, typ)
- ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- ctx.So(res, convey.ShouldNotBeNil)
- })
- })
- }
- func TestDaoRawItemLikeList(t *testing.T) {
- var (
- c = context.TODO()
- messageID = int64(1)
- businessID = int64(1)
- originID = int64(1)
- state = int8(1)
- start = int(1)
- end = int(1)
- )
- convey.Convey("RawItemLikeList", t, func(ctx convey.C) {
- _, err := d.RawItemLikeList(c, messageID, businessID, originID, state, start, end)
- ctx.Convey("Then err should be nil.res,all should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- })
- })
- }
- func TestDaoRawUserLikeList(t *testing.T) {
- var (
- c = context.TODO()
- mid = int64(1)
- businessID = int64(1)
- state = int8(1)
- start = int(1)
- end = int(1)
- )
- convey.Convey("RawUserLikeList", t, func(ctx convey.C) {
- _, err := d.RawUserLikeList(c, mid, businessID, state, start, end)
- ctx.Convey("Then err should be nil.res,all should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- // ctx.So(all, convey.ShouldNotBeNil)
- // ctx.So(res, convey.ShouldNotBeNil)
- })
- })
- }
- func TestDaoMessageStats(t *testing.T) {
- var (
- c = context.TODO()
- businessID = int64(1)
- ids = []int64{1}
- )
- convey.Convey("MessageStats", t, func(ctx convey.C) {
- res, err := d.MessageStats(c, businessID, ids)
- ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- ctx.So(res, convey.ShouldBeEmpty)
- })
- })
- }
- func TestDaoOriginStats(t *testing.T) {
- var (
- c = context.TODO()
- businessID = int64(1)
- originID = int64(1)
- )
- convey.Convey("OriginStats", t, func(ctx convey.C) {
- res, err := d.OriginStats(c, businessID, originID)
- ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- ctx.So(res, convey.ShouldNotBeNil)
- })
- })
- }
- func TestDaoStat(t *testing.T) {
- var (
- c = context.TODO()
- businessID = int64(1)
- originID = int64(1)
- messageID = int64(1)
- )
- convey.Convey("Stat", t, func(ctx convey.C) {
- res, err := d.Stat(c, businessID, originID, messageID)
- ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- ctx.So(res, convey.ShouldNotBeNil)
- })
- })
- }
- func TestDaotidbRawStats(t *testing.T) {
- var (
- c = context.TODO()
- businessID = int64(1)
- originID = int64(1)
- messageID = int64(1)
- )
- convey.Convey("RawStats", t, func(ctx convey.C) {
- res, err := d.RawStats(c, businessID, originID, messageID)
- ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- ctx.So(res, convey.ShouldNotBeNil)
- })
- })
- }
- func TestDaoUpdateCount(t *testing.T) {
- var (
- c = context.TODO()
- businessID = int64(1)
- originID = int64(1)
- messageID = int64(1)
- likeChange = int64(1)
- dislikeChange = int64(1)
- )
- convey.Convey("UpdateCount", t, func(ctx convey.C) {
- err := d.UpdateCount(c, businessID, originID, messageID, likeChange, dislikeChange)
- ctx.Convey("Then err should be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- })
- })
- }
- // INSERT INTO `bilibili_likes`.`counts`(`id`, `mtime`, `ctime`, `business_id`, `origin_id`, `message_id`, `likes_count`, `dislikes_count`, `likes_change`, `dislikes_change`, `up_mid`) VALUES (0, '2018-11-14 17:25:40', '2018-11-03 12:06:27', 3, 0, 10099865, 100, 0, 0, 0, 8167601);
- func Test_updateCounts(t *testing.T) {
- convey.Convey("get data", t, func() {
- c := context.Background()
- messageID := int64(10099865)
- bid := int64(3)
- oid := int64(0)
- stat, err := d.Stat(c, bid, oid, messageID)
- convey.So(err, convey.ShouldBeNil)
- args := [][2]int64{
- {1, 1},
- {-1000, -1000},
- {1, 0},
- {0, 1},
- {-1, 0},
- {-1, -1},
- {0, -1},
- {0, 0},
- {100, -10000},
- {100, 20},
- {-10, 20},
- }
- var l, dd int64
- for _, x := range args {
- l = x[0]
- dd = x[1]
- convey.Convey(fmt.Sprintf("like %v dislike %v", l, dd), func() {
- err := d.UpdateCounts(c, bid, oid, messageID, l, dd, 0)
- convey.So(err, convey.ShouldBeNil)
- nstat, err := d.Stat(c, bid, oid, messageID)
- convey.So(err, convey.ShouldBeNil)
- likes := stat.Likes + l
- if likes < 0 {
- likes = 0
- }
- dislikes := stat.Dislikes + dd
- if dislikes < 0 {
- dislikes = 0
- }
- convey.So(nstat.Likes, convey.ShouldEqual, likes)
- convey.So(nstat.Dislikes, convey.ShouldEqual, dislikes)
- })
- }
- })
- }
- func TestDaoUpdateUpMids(t *testing.T) {
- var (
- c = context.TODO()
- businessID = int64(2)
- )
- data := []*model.UpMidsReq{
- {MessageID: 100, UpMid: 100},
- {MessageID: 200, UpMid: 200},
- {MessageID: 300, UpMid: 300},
- }
- convey.Convey("UpdateUpMids", t, func(ctx convey.C) {
- _, err := d.UpdateUpMids(c, businessID, data)
- ctx.Convey("Then err should be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- })
- })
- }
- func TestDaoItemHasLike(t *testing.T) {
- var (
- c = context.TODO()
- businessID = int64(1)
- originID = int64(1)
- messageID = int64(1)
- mids = []int64{1, 2, 3}
- )
- convey.Convey("ItemHasLike", t, func(ctx convey.C) {
- res, err := d.ItemHasLike(c, businessID, originID, messageID, mids, model.StateLike)
- ctx.Convey("Then err should be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- ctx.So(res, convey.ShouldNotBeEmpty)
- })
- })
- }
|