Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit6da3bf3

Browse files
committed
test(blog): missing published test
1 parent89769f5 commit6da3bf3

File tree

1 file changed

+103
-0
lines changed

1 file changed

+103
-0
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
defmoduleGroupherServer.Test.Query.Accounts.Published.Blogsdo
2+
useGroupherServer.TestTools
3+
4+
aliasGroupherServer.CMS
5+
6+
@publish_count10
7+
8+
setupdo
9+
{:ok,user}=db_insert(:user)
10+
{:ok,blog}=db_insert(:blog)
11+
{:ok,community}=db_insert(:community)
12+
13+
guest_conn=simu_conn(:guest)
14+
user_conn=simu_conn(:user,user)
15+
16+
{:ok,~m(guest_conn user_conn community blog user)a}
17+
end
18+
19+
describe"[published blogs]"do
20+
@query"""
21+
query($login: String!, $filter: PagedFilter!) {
22+
pagedPublishedBlogs(login: $login, filter: $filter) {
23+
entries {
24+
id
25+
title
26+
author {
27+
id
28+
}
29+
}
30+
totalPages
31+
totalCount
32+
pageSize
33+
pageNumber
34+
}
35+
}
36+
"""
37+
38+
test"can get published blogs",~m(guest_conn community user)ado
39+
blog_attrs=mock_attrs(:blog,%{community_id:community.id})
40+
41+
{:ok,blog}=CMS.create_article(community,:blog,blog_attrs,user)
42+
{:ok,blog2}=CMS.create_article(community,:blog,blog_attrs,user)
43+
44+
variables=%{login:user.login,filter:%{page:1,size:20}}
45+
results=guest_conn|>query_result(@query,variables,"pagedPublishedBlogs")
46+
47+
assertresults["entries"]|>Enum.any?(&(&1["id"]==to_string(blog.id)))
48+
assertresults["entries"]|>Enum.any?(&(&1["id"]==to_string(blog2.id)))
49+
end
50+
end
51+
52+
describe"[account published comments on blog]"do
53+
@query"""
54+
query($login: String!, $thread: Thread, $filter: PagedFilter!) {
55+
pagedPublishedArticleComments(login: $login, thread: $thread, filter: $filter) {
56+
entries {
57+
id
58+
bodyHtml
59+
author {
60+
id
61+
}
62+
article {
63+
id
64+
title
65+
author {
66+
nickname
67+
login
68+
}
69+
}
70+
}
71+
totalPages
72+
totalCount
73+
pageSize
74+
pageNumber
75+
}
76+
}
77+
"""
78+
79+
test"user can get paged published comments on blog",~m(guest_conn user blog)ado
80+
pub_comments=
81+
Enum.reduce(1..@publish_count,[],fn_,acc->
82+
{:ok,comment}=CMS.create_article_comment(:blog,blog.id,"comment",user)
83+
acc++[comment]
84+
end)
85+
86+
random_comment_id=pub_comments|>Enum.random()|>Map.get(:id)|>to_string
87+
88+
variables=%{login:user.login,thread:"JOB",filter:%{page:1,size:20}}
89+
90+
results=guest_conn|>query_result(@query,variables,"pagedPublishedArticleComments")
91+
92+
entries=results["entries"]
93+
assertresults|>is_valid_pagination?
94+
assertresults["totalCount"]==@publish_count
95+
96+
assertentries|>Enum.all?(&(notis_nil(&1["article"]["author"])))
97+
98+
assertentries|>Enum.all?(&(&1["article"]["id"]==to_string(blog.id)))
99+
assertentries|>Enum.all?(&(&1["author"]["id"]==to_string(user.id)))
100+
assertentries|>Enum.any?(&(&1["id"]==random_comment_id))
101+
end
102+
end
103+
end

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp