119 lines
3.5 KiB
Go
119 lines
3.5 KiB
Go
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)
|
|
}
|