bilibili-backup/app/admin/main/reply/dao/reply_content_test.go

83 lines
2.4 KiB
Go
Raw Normal View History

2019-04-22 10:59:20 +08:00
package dao
import (
"context"
"fmt"
"testing"
"time"
"go-common/app/admin/main/reply/model"
xtime "go-common/library/time"
. "github.com/smartystreets/goconvey/convey"
)
func deleteReplyContent(d *Dao, oid int64, rpid int64) error {
_delSQL := "Delete from reply_content_%d where rpid = ?"
_, err := d.db.Exec(context.Background(), fmt.Sprintf(_delSQL, hit(oid)), rpid)
if err != nil {
return err
}
return nil
}
func TestReplyContent(t *testing.T) {
_inContSQL := "INSERT IGNORE INTO reply_content_%d (rpid,message,ats,ip,plat,device,version,ctime,mtime) VALUES(?,?,?,?,?,?,?,?,?)"
d := _d
c := context.Background()
now := time.Now()
rc := model.ReplyContent{
ID: 1,
Message: "test",
Device: "iphone",
Version: "beta",
CTime: xtime.Time(now.Unix()),
MTime: xtime.Time(now.Unix()),
}
_, err := d.db.Exec(c, fmt.Sprintf(_inContSQL, hit(6)), rc.ID, rc.Message, rc.Ats, rc.IP, rc.Plat, rc.Device, rc.Version, rc.CTime, rc.MTime)
if err != nil {
t.Logf("insert reply content %v", err)
t.FailNow()
}
defer deleteReplyContent(d, 6, 1)
rc2 := model.ReplyContent{
ID: 2,
Message: "test2",
Device: "iphone2",
Version: "beta2",
CTime: xtime.Time(now.Unix()),
MTime: xtime.Time(now.Unix()),
}
_, err = d.db.Exec(c, fmt.Sprintf(_inContSQL, hit(86)), rc2.ID, rc2.Message, rc2.Ats, rc2.IP, rc2.Plat, rc2.Device, rc2.Version, rc2.CTime, rc2.MTime)
if err != nil {
t.Logf("insert reply content %v", err)
t.FailNow()
}
defer deleteReplyContent(d, 86, 2)
Convey("reply_content test", t, WithDao(func(d *Dao) {
Convey("get update content", WithDao(func(d *Dao) {
now = time.Now()
rows, err := d.UpReplyContent(c, 86, 2, "test3", now)
So(err, ShouldBeNil)
So(rows, ShouldBeGreaterThan, 0)
}))
Convey("get reply_content", WithDao(func(d *Dao) {
content, err := d.ReplyContent(c, 86, 2)
So(err, ShouldBeNil)
So(content, ShouldNotBeNil)
So(content.ID, ShouldEqual, 2)
So(content.CTime, ShouldEqual, now.Unix())
So(content.Message, ShouldEqual, "test3")
}))
Convey("find reply_contents", WithDao(func(d *Dao) {
cMap, err := d.ReplyContents(c, []int64{6, 86}, []int64{1, 2})
So(err, ShouldBeNil)
So(len(cMap), ShouldEqual, 2)
So(cMap[1].ID, ShouldEqual, 1)
So(cMap[1].Message, ShouldEqual, "test")
So(cMap[2].ID, ShouldEqual, 2)
So(cMap[2].Message, ShouldEqual, "test3")
}))
}))
}