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.

Commita49dc93

Browse files
committed
refactor(community): enhance read community & test
1 parent8cd6ee8 commita49dc93

File tree

3 files changed

+94
-59
lines changed

3 files changed

+94
-59
lines changed

‎lib/groupher_server/cms/delegates/community_curd.ex‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ defmodule GroupherServer.CMS.Delegate.CommunityCURD do
4040
end
4141

4242
defpviewer_has_states({:ok,community},%User{id:user_id})do
43-
viewer_has_states=%{
44-
viewer_has_subscribed:user_idincommunity.meta.subscribed_user_ids
45-
}
43+
viewer_has_states=%{viewer_has_subscribed:user_idincommunity.meta.subscribed_user_ids}
4644

4745
{:ok,Map.merge(community,viewer_has_states)}
4846
end

‎test/groupher_server/cms/cms_test.exs‎

Lines changed: 2 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule GroupherServer.Test.CMS do
33

44
aliasGroupherServer.Accounts.User
55
aliasGroupherServer.CMS
6-
aliasCMS.{Community,CommunityEditor}
6+
aliasCMS.{Category,Community,CommunityEditor}
77

88
aliasHelper.{Certification,ORM}
99

@@ -16,8 +16,6 @@ defmodule GroupherServer.Test.CMS do
1616
end
1717

1818
describe"[cms category]"do
19-
aliasCMS.{Community,Category}
20-
2119
test"create category with valid attrs",~m(user)ado
2220
valid_attrs=mock_attrs(:category,%{user_id:user.id})
2321
~m(title raw)a=valid_attrs
@@ -132,10 +130,7 @@ defmodule GroupherServer.Test.CMS do
132130
{:ok,users}=db_insert_multi(:user,25)
133131
title="chief editor"
134132

135-
Enum.each(
136-
users,
137-
&CMS.set_editor(community,title,%User{id:&1.id})
138-
)
133+
Enum.each(users,&CMS.set_editor(community,title,%User{id:&1.id}))
139134

140135
filter=%{page:1,size:10}
141136
{:ok,results}=CMS.community_members(:editors,%Community{id:community.id},filter)
@@ -144,53 +139,4 @@ defmodule GroupherServer.Test.CMS do
144139
assertresults.total_count==25
145140
end
146141
end
147-
148-
describe"[cms community subscribe]"do
149-
# @tag :wip2
150-
test"user can subscribe a community",~m(user community)ado
151-
{:ok,record}=CMS.subscribe_community(community,user)
152-
assertcommunity.id==record.id
153-
end
154-
155-
@tag:wip2
156-
test"user subscribe a community will update the community's subscribted info",
157-
~m(user community)ado
158-
assertcommunity.subscribers_count==0
159-
{:ok,record}=CMS.subscribe_community(community,user)
160-
161-
{:ok,community}=ORM.find(Community,community.id)
162-
assertcommunity.subscribers_count==1
163-
164-
assertuser.idincommunity.meta.subscribed_user_ids
165-
end
166-
167-
@tag:wip2
168-
test"user unsubscribe a community will update the community's subscribted info",
169-
~m(user community)ado
170-
{:ok,_}=CMS.subscribe_community(community,user)
171-
{:ok,community}=ORM.find(Community,community.id)
172-
assertcommunity.subscribers_count==1
173-
assertuser.idincommunity.meta.subscribed_user_ids
174-
175-
{:ok,_}=CMS.unsubscribe_community(community,user)
176-
177-
{:ok,community}=ORM.find(Community,community.id)
178-
assertcommunity.subscribers_count==0
179-
assertuser.idnot incommunity.meta.subscribed_user_ids
180-
end
181-
182-
test"user can get paged-subscribers of a community",~m(community)ado
183-
{:ok,users}=db_insert_multi(:user,25)
184-
185-
Enum.each(
186-
users,
187-
&CMS.subscribe_community(community,%User{id:&1.id})
188-
)
189-
190-
{:ok,results}=
191-
CMS.community_members(:subscribers,%Community{id:community.id},%{page:1,size:10})
192-
193-
assertresults|>is_valid_pagination?(:raw)
194-
end
195-
end
196142
end
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
defmoduleGroupherServer.Test.CMS.Communitydo
2+
@moduledocfalse
3+
useGroupherServer.TestTools
4+
5+
aliasGroupherServer.Accounts.User
6+
aliasGroupherServer.CMS
7+
aliasCMS.Community
8+
9+
aliasHelper.ORM
10+
11+
setupdo
12+
{:ok,user}=db_insert(:user)
13+
{:ok,user2}=db_insert(:user)
14+
{:ok,community}=db_insert(:community)
15+
16+
{:ok,~m(user community user2)a}
17+
end
18+
19+
describe"[cms community read]"do
20+
@tag:wip2
21+
test"read community should inc views",~m(community)ado
22+
{:ok,community}=CMS.read_community(%{id:community.id})
23+
24+
assertcommunity.views==1
25+
{:ok,community}=CMS.read_community(%{title:community.title})
26+
assertcommunity.views==2
27+
{:ok,community}=CMS.read_community(%{raw:community.raw})
28+
assertcommunity.views==3
29+
end
30+
31+
@tag:wip2
32+
test"read subscribed community should have a flag",~m(community user user2)ado
33+
{:ok,_}=CMS.subscribe_community(community,user)
34+
35+
{:ok,community}=CMS.read_community(%{id:community.id},user)
36+
37+
assertcommunity.viewer_has_subscribed
38+
assertuser.idincommunity.meta.subscribed_user_ids
39+
40+
{:ok,community}=CMS.read_community(%{id:community.id},user2)
41+
assertnotcommunity.viewer_has_subscribed
42+
assertuser2.idnot incommunity.meta.subscribed_user_ids
43+
end
44+
end
45+
46+
describe"[cms community subscribe]"do
47+
# @tag :wip2
48+
test"user can subscribe a community",~m(user community)ado
49+
{:ok,record}=CMS.subscribe_community(community,user)
50+
assertcommunity.id==record.id
51+
end
52+
53+
@tag:wip2
54+
test"user subscribe a community will update the community's subscribted info",
55+
~m(user community)ado
56+
assertcommunity.subscribers_count==0
57+
{:ok,record}=CMS.subscribe_community(community,user)
58+
59+
{:ok,community}=ORM.find(Community,community.id)
60+
assertcommunity.subscribers_count==1
61+
62+
assertuser.idincommunity.meta.subscribed_user_ids
63+
end
64+
65+
@tag:wip2
66+
test"user unsubscribe a community will update the community's subscribted info",
67+
~m(user community)ado
68+
{:ok,_}=CMS.subscribe_community(community,user)
69+
{:ok,community}=ORM.find(Community,community.id)
70+
assertcommunity.subscribers_count==1
71+
assertuser.idincommunity.meta.subscribed_user_ids
72+
73+
{:ok,_}=CMS.unsubscribe_community(community,user)
74+
75+
{:ok,community}=ORM.find(Community,community.id)
76+
assertcommunity.subscribers_count==0
77+
assertuser.idnot incommunity.meta.subscribed_user_ids
78+
end
79+
80+
test"user can get paged-subscribers of a community",~m(community)ado
81+
{:ok,users}=db_insert_multi(:user,25)
82+
83+
Enum.each(users,&CMS.subscribe_community(community,%User{id:&1.id}))
84+
85+
{:ok,results}=
86+
CMS.community_members(:subscribers,%Community{id:community.id},%{page:1,size:10})
87+
88+
assertresults|>is_valid_pagination?(:raw)
89+
end
90+
end
91+
end

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp