Skip to content
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit b015b71

Browse files
committed
refactor(reactions-test): re-org wip
1 parent 0e99665 commit b015b71

File tree

5 files changed

+203
-199
lines changed

5 files changed

+203
-199
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
defmodule GroupherServer.Test.Upvotes.JobUpvote do
2+
@moduledoc false
3+
use GroupherServer.TestTools
4+
5+
alias GroupherServer.CMS
6+
7+
setup do
8+
{:ok, user} = db_insert(:user)
9+
{:ok, user2} = db_insert(:user)
10+
{:ok, community} = db_insert(:community)
11+
12+
job_attrs = mock_attrs(:job, %{community_id: community.id})
13+
14+
{:ok, ~m(user user2 community job_attrs)a}
15+
end
16+
17+
describe "[cms job upvote]" do
18+
@tag :wip2
19+
test "job can be upvote && upvotes_count should inc by 1",
20+
~m(user user2 community job_attrs)a do
21+
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
22+
23+
{:ok, article} = CMS.upvote_article(:job, job.id, user)
24+
assert article.id == job.id
25+
assert article.upvotes_count == 1
26+
27+
{:ok, article} = CMS.upvote_article(:job, job.id, user2)
28+
assert article.upvotes_count == 2
29+
end
30+
31+
@tag :wip2
32+
test "job can be undo upvote && upvotes_count should dec by 1",
33+
~m(user user2 community job_attrs)a do
34+
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
35+
36+
{:ok, article} = CMS.upvote_article(:job, job.id, user)
37+
assert article.id == job.id
38+
assert article.upvotes_count == 1
39+
40+
{:ok, article} = CMS.undo_upvote_article(:job, job.id, user2)
41+
assert article.upvotes_count == 0
42+
end
43+
44+
@tag :wip2
45+
test "can get upvotes_users", ~m(user user2 community job_attrs)a do
46+
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
47+
48+
{:ok, _article} = CMS.upvote_article(:job, job.id, user)
49+
{:ok, _article} = CMS.upvote_article(:job, job.id, user2)
50+
51+
{:ok, users} = CMS.upvoted_users(:job, job.id, %{page: 1, size: 2})
52+
53+
assert users |> is_valid_pagination?(:raw)
54+
assert user_exist_in?(user, users.entries)
55+
assert user_exist_in?(user2, users.entries)
56+
end
57+
58+
@tag :wip2
59+
test "job meta history should be updated after upvote",
60+
~m(user user2 community job_attrs)a do
61+
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
62+
{:ok, article} = CMS.upvote_article(:job, job.id, user)
63+
assert user.id in article.meta.upvoted_user_ids
64+
65+
{:ok, article} = CMS.upvote_article(:job, job.id, user2)
66+
assert user.id in article.meta.upvoted_user_ids
67+
assert user2.id in article.meta.upvoted_user_ids
68+
end
69+
70+
@tag :wip2
71+
test "job meta history should be updated after undo upvote",
72+
~m(user user2 community job_attrs)a do
73+
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
74+
75+
{:ok, _article} = CMS.upvote_article(:job, job.id, user)
76+
{:ok, article} = CMS.upvote_article(:job, job.id, user2)
77+
78+
assert user.id in article.meta.upvoted_user_ids
79+
assert user2.id in article.meta.upvoted_user_ids
80+
81+
{:ok, article} = CMS.undo_upvote_article(:job, job.id, user2)
82+
assert user2.id not in article.meta.upvoted_user_ids
83+
84+
{:ok, article} = CMS.undo_upvote_article(:job, job.id, user)
85+
assert user.id not in article.meta.upvoted_user_ids
86+
end
87+
end
88+
end
Lines changed: 7 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
defmodule GroupherServer.Test.ArticleUpvote do
1+
defmodule GroupherServer.Test.Upvotes.PostUpvote do
22
@moduledoc false
33
use GroupherServer.TestTools
44

@@ -10,13 +10,12 @@ defmodule GroupherServer.Test.ArticleUpvote do
1010
{:ok, community} = db_insert(:community)
1111

1212
post_attrs = mock_attrs(:post, %{community_id: community.id})
13-
job_attrs = mock_attrs(:job, %{community_id: community.id})
1413

15-
{:ok, ~m(user user2 community post_attrs job_attrs)a}
14+
{:ok, ~m(user user2 community post_attrs)a}
1615
end
1716

1817
describe "[cms post upvote]" do
19-
@tag :wip
18+
@tag :wip2
2019
test "post can be upvote && upvotes_count should inc by 1",
2120
~m(user user2 community post_attrs)a do
2221
{:ok, post} = CMS.create_content(community, :post, post_attrs, user)
@@ -29,7 +28,7 @@ defmodule GroupherServer.Test.ArticleUpvote do
2928
assert article.upvotes_count == 2
3029
end
3130

32-
@tag :wip
31+
@tag :wip2
3332
test "post can be undo upvote && upvotes_count should dec by 1",
3433
~m(user user2 community post_attrs)a do
3534
{:ok, post} = CMS.create_content(community, :post, post_attrs, user)
@@ -42,7 +41,7 @@ defmodule GroupherServer.Test.ArticleUpvote do
4241
assert article.upvotes_count == 0
4342
end
4443

45-
@tag :wip
44+
@tag :wip2
4645
test "can get upvotes_users", ~m(user user2 community post_attrs)a do
4746
{:ok, post} = CMS.create_content(community, :post, post_attrs, user)
4847

@@ -56,6 +55,7 @@ defmodule GroupherServer.Test.ArticleUpvote do
5655
assert user_exist_in?(user2, users.entries)
5756
end
5857

58+
@tag :wip2
5959
test "post meta history should be updated after upvote",
6060
~m(user user2 community post_attrs)a do
6161
{:ok, post} = CMS.create_content(community, :post, post_attrs, user)
@@ -67,6 +67,7 @@ defmodule GroupherServer.Test.ArticleUpvote do
6767
assert user2.id in article.meta.upvoted_user_ids
6868
end
6969

70+
@tag :wip2
7071
test "post meta history should be updated after undo upvote",
7172
~m(user user2 community post_attrs)a do
7273
{:ok, post} = CMS.create_content(community, :post, post_attrs, user)
@@ -84,73 +85,4 @@ defmodule GroupherServer.Test.ArticleUpvote do
8485
assert user.id not in article.meta.upvoted_user_ids
8586
end
8687
end
87-
88-
describe "[cms job upvote]" do
89-
@tag :wip
90-
test "job can be upvote && upvotes_count should inc by 1",
91-
~m(user user2 community job_attrs)a do
92-
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
93-
94-
{:ok, article} = CMS.upvote_article(:job, job.id, user)
95-
assert article.id == job.id
96-
assert article.upvotes_count == 1
97-
98-
{:ok, article} = CMS.upvote_article(:job, job.id, user2)
99-
assert article.upvotes_count == 2
100-
end
101-
102-
@tag :wip
103-
test "job can be undo upvote && upvotes_count should dec by 1",
104-
~m(user user2 community job_attrs)a do
105-
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
106-
107-
{:ok, article} = CMS.upvote_article(:job, job.id, user)
108-
assert article.id == job.id
109-
assert article.upvotes_count == 1
110-
111-
{:ok, article} = CMS.undo_upvote_article(:job, job.id, user2)
112-
assert article.upvotes_count == 0
113-
end
114-
115-
@tag :wip
116-
test "can get upvotes_users", ~m(user user2 community job_attrs)a do
117-
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
118-
119-
{:ok, _article} = CMS.upvote_article(:job, job.id, user)
120-
{:ok, _article} = CMS.upvote_article(:job, job.id, user2)
121-
122-
{:ok, users} = CMS.upvoted_users(:job, job.id, %{page: 1, size: 2})
123-
124-
assert users |> is_valid_pagination?(:raw)
125-
assert user_exist_in?(user, users.entries)
126-
assert user_exist_in?(user2, users.entries)
127-
end
128-
129-
test "job meta history should be updated", ~m(user user2 community job_attrs)a do
130-
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
131-
{:ok, article} = CMS.upvote_article(:job, job.id, user)
132-
assert user.id in article.meta.upvoted_user_ids
133-
134-
{:ok, article} = CMS.upvote_article(:job, job.id, user2)
135-
assert user.id in article.meta.upvoted_user_ids
136-
assert user2.id in article.meta.upvoted_user_ids
137-
end
138-
139-
test "job meta history should be updated after undo upvote",
140-
~m(user user2 community job_attrs)a do
141-
{:ok, job} = CMS.create_content(community, :job, job_attrs, user)
142-
143-
{:ok, _article} = CMS.upvote_article(:job, job.id, user)
144-
{:ok, article} = CMS.upvote_article(:job, job.id, user2)
145-
146-
assert user.id in article.meta.upvoted_user_ids
147-
assert user2.id in article.meta.upvoted_user_ids
148-
149-
{:ok, article} = CMS.undo_upvote_article(:job, job.id, user2)
150-
assert user2.id not in article.meta.upvoted_user_ids
151-
152-
{:ok, article} = CMS.undo_upvote_article(:job, job.id, user)
153-
assert user.id not in article.meta.upvoted_user_ids
154-
end
155-
end
15688
end

test/groupher_server_web/query/cms/article_reaction_users_test.exs

Lines changed: 0 additions & 124 deletions
This file was deleted.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
defmodule GroupherServer.Test.Query.Collects.PostUpvote do
2+
@moduledoc false
3+
use GroupherServer.TestTools
4+
5+
alias GroupherServer.CMS
6+
7+
setup do
8+
{:ok, post} = db_insert(:post)
9+
{:ok, user} = db_insert(:user)
10+
{:ok, user2} = db_insert(:user)
11+
12+
guest_conn = simu_conn(:guest)
13+
user_conn = simu_conn(:user, user)
14+
15+
{:ok, ~m(user_conn guest_conn user user2 post)a}
16+
end
17+
18+
describe "[collect users]" do
19+
@query """
20+
query(
21+
$id: ID!
22+
$thread: CmsThread
23+
$filter: PagedFilter!
24+
) {
25+
collectedUsers(id: $id, thread: $thread, filter: $filter) {
26+
entries {
27+
id
28+
avatar
29+
nickname
30+
}
31+
totalPages
32+
totalCount
33+
pageSize
34+
pageNumber
35+
}
36+
}
37+
"""
38+
@tag :wip2
39+
test "guest can get collected users list after collect a post",
40+
~m(guest_conn post user user2)a do
41+
{:ok, _} = CMS.collect_article(:post, post.id, user)
42+
{:ok, _} = CMS.collect_article(:post, post.id, user2)
43+
44+
variables = %{id: post.id, thread: "POST", filter: %{page: 1, size: 20}}
45+
results = guest_conn |> query_result(@query, variables, "collectedUsers")
46+
47+
assert results |> is_valid_pagination?
48+
assert results["totalCount"] == 2
49+
50+
assert user_exist_in?(user, results["entries"], :string_key)
51+
assert user_exist_in?(user2, results["entries"], :string_key)
52+
end
53+
end
54+
end

0 commit comments

Comments
 (0)