go-common/app/interface/openplatform/article/service/creation_test.go
2019-04-22 18:49:16 +08:00

122 lines
4.8 KiB
Go

package service
import (
"context"
"fmt"
"testing"
"time"
artmdl "go-common/app/interface/openplatform/article/model"
. "github.com/smartystreets/goconvey/convey"
)
var (
categories = []*artmdl.Category{
&artmdl.Category{Name: "游戏", ID: 1},
&artmdl.Category{Name: "动漫", ID: 2},
}
art = artmdl.Article{
Meta: &artmdl.Meta{
Category: categories[0],
Title: "隐藏于时区记忆中的,是希望还是绝望!",
Summary: "说起日本校服,第一个浮现在我们脑海中的必然是那象征着青春阳光 蓝白色相称的水手服啦. 拉色短裙配上洁白的直袜",
BannerURL: "http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg",
TemplateID: 4,
State: artmdl.StatePending,
Author: &artmdl.Author{Mid: 8167601, Name: "爱蜜莉雅", Face: "http://i1.hdslb.com/bfs/face/5c6109964e78a84021299cdf71739e21cd7bc208.jpg"},
Reprint: 0,
ImageURLs: []string{"http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg"},
OriginImageURLs: []string{"http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg"},
PublishTime: 1495784507,
Stats: &artmdl.Stats{Favorite: 100, Like: 10, View: 500, Dislike: 1, Share: 99},
Attributes: 2,
Words: 555,
Dynamic: "dynamic",
Tags: []*artmdl.Tag{&artmdl.Tag{Name: "tag"}},
},
Content: "海奉是一个风景优美的地方,但并不在沿海。数量众多的旅行家笔记显示,海奉是一片死火山群。那里坐落着世界上最高的山峰——奈文摩尔峰,峰顶终年积雪。其它沉睡的火山围坐在他的周围,高低不同,错落有致。火山口往往积蓄湖水,形成湖泊,当地人称之为“镜湖”。每到雨季,经过连续的降雨,湖中的水便会溢出,从山顶冲下,形成“水山爆发”的情景。山脚下是海奉人的村落,那里的房子全部以木头搭建,巧妙的避开河水的必经之路。海奉人以木工闻名,无论是精巧的木头机械还是美丽的木雕都不在话下。此外,每一个海奉人都戴着一枚木制的十字架,那是由海奉独有的铁木制成,绝不出售给外人,因而成为海奉人的标志。但是故事并不发生在海奉,这些描写仅是因为主角是海奉人。船还在航行。天色昏暗,雨从来没有停过。船舱紧闭,窗口透出一丝微弱的光。“您是海奉人吗?”山本真奈美借着微弱的灯光盯着他的十字架。",
}
)
func Test_Creation(t *testing.T) {
var (
err error
aid int64
c = context.TODO()
)
Convey("creation article", t, WithService(func(s *Service) {
res := &artmdl.Article{
Meta: &artmdl.Meta{
Title: "title",
Category: &artmdl.Category{ID: 39},
Author: &artmdl.Author{Mid: art.Author.Mid},
Tags: []*artmdl.Tag{&artmdl.Tag{Name: "tag"}},
TemplateID: 1,
},
}
Convey("AddArticle", func() {
art.Title = fmt.Sprintf("隐藏于时区记忆中的,是希望还是绝望!_%v", time.Now().UnixNano())
aid, err = s.AddArticle(c, &art, 0, 0, "")
So(err, ShouldBeNil)
So(aid, ShouldBeGreaterThan, 0)
err = s.SetStat(c, aid, &artmdl.Stats{
View: 10,
Reply: 9,
Like: 5,
})
So(err, ShouldBeNil)
Convey("CreationArticle", func() {
res, err = s.CreationArticle(c, aid, art.Author.Mid)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
})
Convey("UpdateArticleDB", func() {
art2 := &artmdl.Article{Meta: &artmdl.Meta{}}
*art2 = art
art2.ID = aid
art2.ImageURLs = []string{"http://i2.hdslb.com/bfs/archive/00.jpg"}
art2.OriginImageURLs = []string{"http://i2.hdslb.com/bfs/archive/01.jpg"}
art2.Dynamic = "update 2"
err = s.updateArticleDB(c, art2)
So(err, ShouldBeNil)
res, err = s.CreationArticle(c, art2.ID, art2.Author.Mid)
So(err, ShouldBeNil)
So(res.Dynamic, ShouldEqual, art2.Dynamic)
So(res.ImageURLs, ShouldResemble, []string{"https://i0.hdslb.com/bfs/archive/00.jpg"})
So(res.OriginImageURLs, ShouldResemble, []string{"https://i0.hdslb.com/bfs/archive/01.jpg"})
})
Convey("UpdateArticle", func() {
// res.Content = art.Content
// res.ID = aid
// err = s.UpdateArticle(c, res, 0, 0, "")
// So(err, ShouldBeNil)
err = s.dao.UpdateArticleState(c, aid, artmdl.StateOpen)
So(err, ShouldBeNil)
Convey("DelArticle", func() {
err = s.DelArticle(c, aid, art.Author.Mid)
So(err, ShouldBeNil)
})
})
})
Convey("CreationUpperArticlesMeta", func() {
mid := art.Author.Mid
group := 0
category := 1
sortType := 1
pn := 1
ps := 10
res2, err := s.CreationUpperArticlesMeta(c, mid, group, category, sortType, pn, ps, "")
So(err, ShouldBeNil)
So(res2, ShouldNotBeNil)
})
}))
}