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

Commit 071eca3

Browse files
committed
refactor(viewer-solution): wip
1 parent 4c8ebc3 commit 071eca3

File tree

7 files changed

+54
-8
lines changed

7 files changed

+54
-8
lines changed

lib/groupher_server/cms/repo.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ defmodule GroupherServer.CMS.Repo do
33
alias __MODULE__
44

55
use Ecto.Schema
6+
use Accessible
7+
68
import Ecto.Changeset
79

810
alias GroupherServer.CMS

test/groupher_server/cms/post_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ defmodule GroupherServer.Test.CMS.Post do
2626
assert post.title == post_attrs.title
2727
end
2828

29-
@tag :wip3
29+
@tag :wip2
3030
test "read post should update views and meta viewed_user_list",
3131
~m(post_attrs community user user2)a do
3232
{:ok, post} = CMS.create_content(community, :post, post_attrs, user)

test/groupher_server_web/query/cms/job_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ defmodule GroupherServer.Test.Query.Job do
1919
}
2020
}
2121
"""
22-
@tag :wip3
22+
@tag :wip2
2323
test "basic graphql query on job with logined user", ~m(user_conn job)a do
2424
variables = %{id: job.id}
2525
results = user_conn |> query_result(@query, variables, "job")
@@ -30,7 +30,7 @@ defmodule GroupherServer.Test.Query.Job do
3030
assert length(Map.keys(results)) == 3
3131
end
3232

33-
@tag :wip3
33+
@tag :wip2
3434
test "basic graphql query on job with stranger(unloged user)", ~m(guest_conn job)a do
3535
variables = %{id: job.id}
3636
results = guest_conn |> query_result(@query, variables, "job")

test/groupher_server_web/query/cms/paged_posts_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ defmodule GroupherServer.Test.Query.PagedPosts do
170170
}
171171
}
172172
"""
173-
@tag :wip3
173+
@tag :wip2
174174
test "has_xxx state should work", ~m(user)a do
175175
user_conn = simu_conn(:user, user)
176176
{:ok, community} = db_insert(:community)

test/groupher_server_web/query/cms/paged_repos_test.exs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,50 @@ defmodule GroupherServer.Test.Query.PagedRepos do
7979
end
8080
end
8181

82+
describe "[query paged_repos filter has_xxx]" do
83+
@query """
84+
query($filter: PagedReposFilter!) {
85+
pagedRepos(filter: $filter) {
86+
entries {
87+
id
88+
viewerHasCollected
89+
viewerHasUpvoted
90+
viewerHasViewed
91+
}
92+
totalCount
93+
}
94+
}
95+
"""
96+
@tag :wip2
97+
test "has_xxx state should work", ~m(user)a do
98+
user_conn = simu_conn(:user, user)
99+
{:ok, community} = db_insert(:community)
100+
101+
{:ok, repo} = CMS.create_content(community, :repo, mock_attrs(:repo), user)
102+
{:ok, _repo} = CMS.create_content(community, :repo, mock_attrs(:repo), user)
103+
{:ok, _repo3} = CMS.create_content(community, :repo, mock_attrs(:repo), user)
104+
105+
variables = %{filter: %{community: community.raw}}
106+
results = user_conn |> query_result(@query, variables, "pagedRepos")
107+
assert results["totalCount"] == 3
108+
109+
the_repo = Enum.find(results["entries"], &(&1["id"] == to_string(repo.id)))
110+
assert not the_repo["viewerHasViewed"]
111+
assert not the_repo["viewerHasUpvoted"]
112+
assert not the_repo["viewerHasCollected"]
113+
114+
{:ok, _} = CMS.read_article(:repo, repo.id, user)
115+
{:ok, _} = CMS.upvote_article(:repo, repo.id, user)
116+
{:ok, _} = CMS.collect_article(:repo, repo.id, user)
117+
118+
results = user_conn |> query_result(@query, variables, "pagedRepos")
119+
the_repo = Enum.find(results["entries"], &(&1["id"] == to_string(repo.id)))
120+
assert the_repo["viewerHasViewed"]
121+
assert the_repo["viewerHasUpvoted"]
122+
assert the_repo["viewerHasCollected"]
123+
end
124+
end
125+
82126
describe "[query paged_repos filter sort]" do
83127
@query """
84128
query($filter: PagedReposFilter!) {

test/groupher_server_web/query/cms/post_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ defmodule GroupherServer.Test.Query.Post do
2828
}
2929
}
3030
"""
31-
@tag :wip3
31+
@tag :wip2
3232
test "basic graphql query on post with logined user",
3333
~m(user_conn community user post_attrs)a do
3434
{:ok, post} = CMS.create_content(community, :post, post_attrs, user)
@@ -43,7 +43,7 @@ defmodule GroupherServer.Test.Query.Post do
4343
assert length(Map.keys(results)) == 4
4444
end
4545

46-
@tag :wip3
46+
@tag :wip2
4747
test "basic graphql query on post with stranger(unloged user)", ~m(guest_conn post)a do
4848
variables = %{id: post.id}
4949
results = guest_conn |> query_result(@query, variables, "post")

test/groupher_server_web/query/cms/repo_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ defmodule GroupherServer.Test.Query.Repo do
1919
}
2020
}
2121
"""
22-
@tag :wip3
22+
@tag :wip2
2323
test "basic graphql query on repo with logined user", ~m(user_conn repo)a do
2424
variables = %{id: repo.id}
2525
results = user_conn |> query_result(@query, variables, "repo")
@@ -30,7 +30,7 @@ defmodule GroupherServer.Test.Query.Repo do
3030
assert length(Map.keys(results)) == 3
3131
end
3232

33-
@tag :wip3
33+
@tag :wip2
3434
test "basic graphql query on repo with stranger(unloged user)", ~m(guest_conn repo)a do
3535
variables = %{id: repo.id}
3636
results = guest_conn |> query_result(@query, variables, "repo")

0 commit comments

Comments
 (0)