You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.5 KiB
118 lines
3.5 KiB
package service |
|
|
|
import ( |
|
"context" |
|
"encoding/json" |
|
|
|
"go-common/app/admin/main/reply/conf" |
|
"go-common/app/admin/main/reply/model" |
|
"testing" |
|
|
|
. "github.com/smartystreets/goconvey/convey" |
|
) |
|
|
|
func TestReply(t *testing.T) { |
|
c := context.Background() |
|
Convey("reply del and recover", t, WithService(func(s *Service) { |
|
sub, err := s.subject(c, 5464686, 1) |
|
So(err, ShouldBeNil) |
|
rp, err := s.reply(c, 5464686, 894717392) |
|
So(err, ShouldBeNil) |
|
err = s.adminDeleteReply(c, 23, []int64{5464686, 5464686}, []int64{894733824, 894733816}, 0, 1, 0, true, "test", "test", 0, 0) |
|
So(err, ShouldBeNil) |
|
rp2, err := s.reply(c, 5464686, 894733824) |
|
So(err, ShouldBeNil) |
|
So(rp2.State, ShouldEqual, 3) |
|
rp2, err = s.reply(c, 5464686, 894733816) |
|
So(err, ShouldBeNil) |
|
So(rp2.State, ShouldEqual, 3) |
|
rp2, err = s.reply(c, 5464686, 894717392) |
|
So(err, ShouldBeNil) |
|
So((rp2.RCount - rp.RCount), ShouldEqual, -2) |
|
sub2, err := s.subject(c, 5464686, 1) |
|
So(err, ShouldBeNil) |
|
So((sub2.ACount - sub.ACount), ShouldEqual, -2) |
|
err = s.AdminRecoverReply(c, 23, "asd", 5464686, 894733824, 1, "test") |
|
So(err, ShouldBeNil) |
|
err = s.AdminRecoverReply(c, 23, "sad", 5464686, 894733816, 1, "test") |
|
So(err, ShouldBeNil) |
|
rp2, err = s.reply(c, 5464686, 894733824) |
|
So(err, ShouldBeNil) |
|
So(rp2.State, ShouldEqual, 0) |
|
rp2, err = s.reply(c, 5464686, 894733816) |
|
So(err, ShouldBeNil) |
|
So(rp2.State, ShouldEqual, 0) |
|
rp2, err = s.reply(c, 5464686, 894717392) |
|
So(err, ShouldBeNil) |
|
So((rp2.RCount - rp.RCount), ShouldEqual, 0) |
|
sub2, err = s.subject(c, 5464686, 1) |
|
So(err, ShouldBeNil) |
|
So((sub2.ACount - sub.ACount), ShouldEqual, 0) |
|
alog, err := s.dao.AdminLog(c, 894733824) |
|
So(err, ShouldBeNil) |
|
So(alog.State, ShouldEqual, 3) |
|
alog, err = s.dao.AdminLog(c, 894733816) |
|
So(err, ShouldBeNil) |
|
So(alog.State, ShouldEqual, 3) |
|
})) |
|
|
|
Convey("reply top", t, WithService(func(s *Service) { |
|
err := s.AddTop(c, 23, "asd", 5464686, 894717392, 1, 1) |
|
So(err, ShouldBeNil) |
|
rp, err := s.reply(c, 5464686, 894717392) |
|
So(err, ShouldBeNil) |
|
So(rp.IsTop(), ShouldBeTrue) |
|
sub, err := s.subject(c, 5464686, 1) |
|
So(err, ShouldBeNil) |
|
So(sub.AttrVal(model.SubAttrTopAdmin), ShouldEqual, model.AttrYes) |
|
err = s.AddTop(c, 23, "asd", 5464686, 894717392, 1, 0) |
|
So(err, ShouldBeNil) |
|
rp, err = s.reply(c, 5464686, 894717392) |
|
So(err, ShouldBeNil) |
|
So(rp.IsTop(), ShouldBeFalse) |
|
sub, err = s.subject(c, 5464686, 1) |
|
So(err, ShouldBeNil) |
|
So(sub.AttrVal(model.SubAttrTopAdmin), ShouldEqual, model.AttrNo) |
|
})) |
|
|
|
Convey("reply pass", t, WithService(func(s *Service) { |
|
s.dao.UpdateReplyState(c, 5464686, 894717384, model.StatePending) |
|
err := s.adminPassReply(c, 23, "sds", []int64{5464686}, []int64{894717384}, 1, "test") |
|
So(err, ShouldBeNil) |
|
rp, err := s.reply(c, 5464686, 894717392) |
|
So(err, ShouldBeNil) |
|
So(rp.State, ShouldEqual, model.StateNormal) |
|
})) |
|
} |
|
|
|
func TestAddReplyConfig(t *testing.T) { |
|
var ( |
|
bs []byte |
|
err error |
|
id int64 |
|
typ = int32(1) |
|
oid = int64(1) |
|
adminID = int64(1) |
|
category = int32(1) |
|
operator = string("管理员001") |
|
c = context.Background() |
|
config = &model.Config{} |
|
) |
|
s := New(conf.Conf) |
|
config.Oid = oid |
|
config.Type = typ |
|
config.Category = category |
|
config.AdminID = adminID |
|
config.Operator = operator |
|
configValue := map[string]int64{ |
|
"showentry": 0, |
|
"showadmin": 1, |
|
} |
|
if bs, err = json.Marshal(configValue); err == nil { |
|
config.Config = string(bs) |
|
} |
|
if id, err = s.AddReplyConfig(c, config); err != nil { |
|
t.Errorf("d.AddConfig error(%v)", err) |
|
} |
|
t.Logf("d.AddReplyConfig result(%d)", id) |
|
}
|
|
|