123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package dao
- import (
- "context"
- "testing"
- "time"
- "go-common/app/admin/main/reply/model"
- xtime "go-common/library/time"
- . "github.com/smartystreets/goconvey/convey"
- )
- var (
- mid int64 = 1
- nowTs = time.Now().Unix()
- lastID int64
- lastID2 int64
- )
- func Test_AddNotice(t *testing.T) {
- c := context.Background()
- nt := model.Notice{
- Plat: model.PlatAndroid,
- Condition: model.ConditionGT,
- Build: 1113,
- Title: "测试",
- Status: model.StatusOffline,
- Content: "测试内容",
- Link: "http://www.bilibili.com",
- StartTime: xtime.Time(nowTs),
- EndTime: xtime.Time(nowTs + 10*3600),
- ClientType: "android",
- }
- nt2 := model.Notice{
- Plat: model.PlatAndroid,
- Condition: model.ConditionLT,
- Build: 2233,
- Title: "测试2",
- Status: model.StatusOffline,
- Content: "测试内容2",
- Link: "http://www.bilibili.com",
- StartTime: xtime.Time(nowTs),
- EndTime: xtime.Time(nowTs + 10*3600),
- ClientType: "",
- }
- Convey("add notice", t, WithDao(func(d *Dao) {
- var err error
- lastID, err = d.CreateNotice(c, &nt)
- So(err, ShouldBeNil)
- So(lastID, ShouldBeGreaterThan, 0)
- lastID2, err = d.CreateNotice(c, &nt2)
- So(err, ShouldBeNil)
- So(lastID2, ShouldBeGreaterThan, 0)
- }))
- }
- func Test_ListNotice(t *testing.T) {
- c := context.Background()
- Convey("list notice", t, WithDao(func(d *Dao) {
- nts, err := d.ListNotice(c, 1, 100)
- So(err, ShouldBeNil)
- So(len(nts), ShouldBeGreaterThan, 0)
- So(nts[0].StartTime.Time().Unix(), ShouldBeGreaterThanOrEqualTo, nowTs)
- count, err := d.CountNotice(c)
- So(err, ShouldBeNil)
- So(count, ShouldBeGreaterThan, 1)
- }))
- }
- func Test_UpdateNotice(t *testing.T) {
- c := context.Background()
- Convey("update notice", t, WithDao(func(d *Dao) {
- data, err := d.Notice(c, uint32(lastID2))
- So(err, ShouldBeNil)
- So(data.Title, ShouldEqual, "测试2")
- data.ID = uint32(lastID2)
- data.Title = "测试3"
- rows, err := d.UpdateNotice(c, data)
- So(err, ShouldBeNil)
- So(rows, ShouldBeGreaterThan, 0)
- nt2, err := d.Notice(c, uint32(lastID2))
- So(err, ShouldBeNil)
- So(nt2.Title, ShouldEqual, "测试3")
- rows, err = d.UpdateNoticeStatus(c, model.StatusOnline, uint32(lastID))
- So(err, ShouldBeNil)
- So(rows, ShouldBeGreaterThan, 0)
- nts, err := d.RangeNotice(c, model.PlatAndroid, xtime.Time(nowTs)-3600, xtime.Time(nowTs+5*3600))
- So(err, ShouldBeNil)
- So(len(nts), ShouldBeGreaterThan, 0)
- var isFound bool
- for _, data = range nts {
- if data.ID == uint32(lastID) {
- isFound = true
- }
- }
- So(isFound, ShouldBeTrue)
- }))
- }
- func Test_DeleteNotice(t *testing.T) {
- c := context.Background()
- Convey("delete notice", t, WithDao(func(d *Dao) {
- rows, err := d.DeleteNotice(c, uint32(lastID))
- So(err, ShouldBeNil)
- So(rows, ShouldBeGreaterThan, 0)
- rows, err = d.DeleteNotice(c, uint32(lastID2))
- So(err, ShouldBeNil)
- So(rows, ShouldBeGreaterThan, 0)
- }))
- }
|