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.
121 lines
4.8 KiB
121 lines
4.8 KiB
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) |
|
}) |
|
})) |
|
}
|
|
|