diff --git a/lib/groupher_server/accounts/delegates/fans.ex b/lib/groupher_server/accounts/delegates/fans.ex index 9087f051f..e1ac1fed3 100644 --- a/lib/groupher_server/accounts/delegates/fans.ex +++ b/lib/groupher_server/accounts/delegates/fans.ex @@ -40,8 +40,8 @@ defmodule GroupherServer.Accounts.Delegate.Fans do false -> {:error, [message: "can't follow yourself", code: ecode(:self_conflict)]} - {:error, error} -> - {:error, [message: error, code: ecode(:not_exsit)]} + {:error, reason} -> + {:error, [message: reason, code: ecode(:not_exsit)]} end end @@ -89,8 +89,8 @@ defmodule GroupherServer.Accounts.Delegate.Fans do false -> {:error, [message: "can't undo follow yourself", code: ecode(:self_conflict)]} - {:error, error} -> - {:error, [message: error, code: ecode(:not_exsit)]} + {:error, reason} -> + {:error, [message: reason, code: ecode(:not_exsit)]} end end diff --git a/lib/groupher_server/accounts/delegates/favorite_category.ex b/lib/groupher_server/accounts/delegates/favorite_category.ex index 334e48f2c..63aece46e 100644 --- a/lib/groupher_server/accounts/delegates/favorite_category.ex +++ b/lib/groupher_server/accounts/delegates/favorite_category.ex @@ -149,7 +149,7 @@ defmodule GroupherServer.Accounts.Delegate.FavoriteCategory do {:error, _} -> case CMS.reaction(thread, :favorite, content_id, user) do {:ok, _} -> find_content_favorite(thread, content_id, user.id) - {:error, error} -> {:error, error} + {:error, reason} -> {:error, reason} end end end) @@ -160,7 +160,7 @@ defmodule GroupherServer.Accounts.Delegate.FavoriteCategory do |> ORM.update(%{total_count: max(old_category.total_count - 1, 0)}) else true -> {:ok, ""} - error -> {:error, error} + reason -> {:error, reason} end end) |> Multi.run(:update_content_category_id, fn _, %{favorite_content: content_favorite} -> diff --git a/lib/groupher_server/cms/cms.ex b/lib/groupher_server/cms/cms.ex index b9a80e4eb..c06cf2571 100644 --- a/lib/groupher_server/cms/cms.ex +++ b/lib/groupher_server/cms/cms.ex @@ -84,7 +84,7 @@ defmodule GroupherServer.CMS do defdelegate favorited_category(thread, content_id, user), to: FavoritedContents # ArticleOperation # >> set flag on article, like: pin / unpin article - defdelegate set_community_flags(queryable, community_id, attrs), to: ArticleOperation + defdelegate set_community_flags(community_info, queryable, attrs), to: ArticleOperation defdelegate pin_content(queryable, community_id, topic), to: ArticleOperation defdelegate undo_pin_content(queryable, community_id, topic), to: ArticleOperation defdelegate pin_content(queryable, community_id), to: ArticleOperation diff --git a/lib/groupher_server/cms/delegates/article_curd.ex b/lib/groupher_server/cms/delegates/article_curd.ex index 2dcea2a85..654a88dcd 100644 --- a/lib/groupher_server/cms/delegates/article_curd.ex +++ b/lib/groupher_server/cms/delegates/article_curd.ex @@ -63,60 +63,32 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do {:error, %Ecto.Changeset{}} """ - def create_content( - %Community{id: community_id}, - thread, - attrs, - %User{id: user_id} - ) do - with {:ok, author} <- ensure_author_exists(%User{id: user_id}), + def create_content(%Community{id: cid}, thread, attrs, %User{id: uid}) do + with {:ok, author} <- ensure_author_exists(%User{id: uid}), {:ok, action} <- match_action(thread, :community), - {:ok, community} <- ORM.find(Community, community_id) do + {:ok, community} <- ORM.find(Community, cid) do Multi.new() |> Multi.run(:create_content, fn _, _ -> - action.target - |> struct() - |> action.target.changeset(attrs) - |> Ecto.Changeset.put_change(:author_id, author.id) - |> Ecto.Changeset.put_change(:origial_community_id, integerfy(community_id)) - |> Repo.insert() + exec_create_content(action.target, attrs, author, community) end) |> Multi.run(:set_community, fn _, %{create_content: content} -> ArticleOperation.set_community(community, thread, content.id) end) |> Multi.run(:set_topic, fn _, %{create_content: content} -> - topic_title = - case attrs |> Map.has_key?(:topic) do - true -> attrs.topic - false -> "posts" - end - - ArticleOperation.set_topic(%Topic{title: topic_title}, thread, content.id) + exec_set_topic(thread, content.id, attrs) end) |> Multi.run(:set_community_flag, fn _, %{create_content: content} -> - # TODO: remove this judge, as content should have a flag - case action |> Map.has_key?(:flag) do - true -> - ArticleOperation.set_community_flags(content, community.id, %{ - trash: false - }) - - false -> - {:ok, :pass} - end + exec_set_community_flag(community, content, action) end) |> Multi.run(:set_tag, fn _, %{create_content: content} -> - case attrs |> Map.has_key?(:tags) do - true -> set_tags(thread, content.id, attrs.tags) - false -> {:ok, :pass} - end + exec_set_tag(thread, content.id, attrs) end) |> Multi.run(:mention_users, fn _, %{create_content: content} -> - Delivery.mention_from_content(community.raw, thread, content, attrs, %User{id: user_id}) + Delivery.mention_from_content(community.raw, thread, content, attrs, %User{id: uid}) {:ok, :pass} end) |> Multi.run(:log_action, fn _, _ -> - Statistics.log_publish_action(%User{id: user_id}) + Statistics.log_publish_action(%User{id: uid}) end) |> Repo.transaction() |> create_content_result() @@ -132,7 +104,7 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do ORM.update(content, args) end) |> Multi.run(:update_tag, fn _, _ -> - update_tags(content, args.tags) + exec_update_tags(content, args.tags) end) |> Repo.transaction() |> update_content_result() @@ -368,37 +340,33 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do defp should_add_pin?(_filter), do: {:error, :pass} + defp concat_contents(%{total_count: 0}, normal_contents), do: {:ok, normal_contents} + defp concat_contents(pined_content, normal_contents) do - case pined_content |> Map.get(:total_count) do - 0 -> - {:ok, normal_contents} - - _ -> - pind_entries = - pined_content - |> Map.get(:entries) - |> Enum.map(&struct(&1, %{pin: true})) - - normal_entries = normal_contents |> Map.get(:entries) - - # pind_count = pined_content |> Map.get(:total_count) - normal_count = normal_contents |> Map.get(:total_count) - - # remote the pined content from normal_entries (if have) - pind_ids = pick_by(pind_entries, :id) - normal_entries = Enum.reject(normal_entries, &(&1.id in pind_ids)) - - normal_contents - |> Map.put(:entries, pind_entries ++ normal_entries) - # those two are equals - # |> Map.put(:total_count, pind_count + normal_count - pind_count) - |> Map.put(:total_count, normal_count) - |> done - end + pind_entries = + pined_content + |> Map.get(:entries) + |> Enum.map(&struct(&1, %{pin: true})) + + normal_entries = normal_contents |> Map.get(:entries) + + # pind_count = pined_content |> Map.get(:total_count) + normal_count = normal_contents |> Map.get(:total_count) + + # remote the pined content from normal_entries (if have) + pind_ids = pick_by(pind_entries, :id) + normal_entries = Enum.reject(normal_entries, &(&1.id in pind_ids)) + + normal_contents + |> Map.put(:entries, pind_entries ++ normal_entries) + # those two are equals + # |> Map.put(:total_count, pind_count + normal_count - pind_count) + |> Map.put(:total_count, normal_count) + |> done end defp create_content_result({:ok, %{create_content: result}}) do - Later.exec({__MODULE__, :nofify_admin_new_content, [result]}) + Later.exec({__MODULE__, :notify_admin_new_content, [result]}) {:ok, result} end @@ -430,10 +398,41 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do {:error, [message: "log action", code: ecode(:create_fails)]} end - defp set_tags(thread, content_id, tags) do + # except Job, other content will just pass, should use set_tag function instead + # defp exec_update_tags(_, _tags_ids), do: {:ok, :pass} + + defp update_content_result({:ok, %{update_content: result}}), do: {:ok, result} + defp update_content_result({:error, :update_content, result, _steps}), do: {:error, result} + defp update_content_result({:error, :update_tag, result, _steps}), do: {:error, result} + + defp content_id(:post, id), do: %{post_id: id} + defp content_id(:job, id), do: %{job_id: id} + defp content_id(:repo, id), do: %{repo_id: id} + defp content_id(:video, id), do: %{video_id: id} + + # for create content step in Multi.new + defp exec_create_content(target, attrs, %Author{id: aid}, %Community{id: cid}) do + target + |> struct() + |> target.changeset(attrs) + |> Ecto.Changeset.put_change(:author_id, aid) + |> Ecto.Changeset.put_change(:origial_community_id, integerfy(cid)) + |> Repo.insert() + end + + defp exec_set_topic(thread, id, %{topic: topic}) do + ArticleOperation.set_topic(%Topic{title: topic}, thread, id) + end + + # if topic is not provide, use posts as default + defp exec_set_topic(thread, id, _attrs) do + ArticleOperation.set_topic(%Topic{title: "posts"}, thread, id) + end + + defp exec_set_tag(thread, id, %{tags: tags}) do try do Enum.each(tags, fn tag -> - {:ok, _} = ArticleOperation.set_tag(thread, %Tag{id: tag.id}, content_id) + {:ok, _} = ArticleOperation.set_tag(thread, %Tag{id: tag.id}, id) end) {:ok, "psss"} @@ -442,62 +441,44 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do end end - defp update_tags(_content, tags_ids) when length(tags_ids) == 0, do: {:ok, :pass} + defp exec_set_tag(_thread, _id, _attrs), do: {:ok, :pass} - # Job is special, the tags in job only represent city, so everytime update - # tags on job content, should be override the old ones, in this way, every - # communiies contains this job will have the same city info - defp update_tags(%CMS.Job{} = content, tags_ids) do - with {:ok, content} <- ORM.find(CMS.Job, content.id, preload: :tags) do - concat_tags(content, tags_ids) - end + # TODO: flag 逻辑似乎有问题 + defp exec_set_community_flag(%Community{} = community, content, %{flag: _flag}) do + ArticleOperation.set_community_flags(community, content, %{ + trash: false + }) end - defp update_tags(%CMS.Post{} = content, tags_ids) do - with {:ok, content} <- ORM.find(CMS.Post, content.id, preload: :tags) do - concat_tags(content, tags_ids) - end + defp exec_set_community_flag(_community, _content, _action) do + {:ok, :pass} end - defp update_tags(%CMS.Video{} = content, tags_ids) do - with {:ok, content} <- ORM.find(CMS.Video, content.id, preload: :tags) do - concat_tags(content, tags_ids) - end - end - - # except Job, other content will just pass, should use set_tag function instead - defp update_tags(_, _tags_ids), do: {:ok, :pass} + defp exec_update_tags(_content, tags_ids) when length(tags_ids) == 0, do: {:ok, :pass} - defp concat_tags(content, tags_ids) do - tags = - Enum.reduce(tags_ids, [], fn t, acc -> - {:ok, tag} = ORM.find(Tag, t.id) + defp exec_update_tags(content, tags_ids) do + with {:ok, content} <- ORM.find(content.__struct__, content.id, preload: :tags) do + tags = + Enum.reduce(tags_ids, [], fn t, acc -> + {:ok, tag} = ORM.find(Tag, t.id) - case tag.title == "refined" do - true -> - acc + case tag.title == "refined" do + true -> + acc - false -> - acc ++ [tag] - end - end) + false -> + acc ++ [tag] + end + end) - content - |> Ecto.Changeset.change() - |> Ecto.Changeset.put_assoc(:tags, tags) - |> Repo.update() + content + |> Ecto.Changeset.change() + |> Ecto.Changeset.put_assoc(:tags, tags) + |> Repo.update() + end end - defp update_content_result({:ok, %{update_content: result}}), do: {:ok, result} - defp update_content_result({:error, :update_content, result, _steps}), do: {:error, result} - defp update_content_result({:error, :update_tag, result, _steps}), do: {:error, result} - - defp content_id(:post, id), do: %{post_id: id} - defp content_id(:job, id), do: %{job_id: id} - defp content_id(:repo, id), do: %{repo_id: id} - defp content_id(:video, id), do: %{video_id: id} - - defp nofify_admin_new_content(%{id: id} = result) do + defp notify_admin_new_content(%{id: id} = result) do target = result.__struct__ preload = [:origial_community, author: :user] diff --git a/lib/groupher_server/cms/delegates/article_operation.ex b/lib/groupher_server/cms/delegates/article_operation.ex index aa768c2ea..d01431619 100644 --- a/lib/groupher_server/cms/delegates/article_operation.ex +++ b/lib/groupher_server/cms/delegates/article_operation.ex @@ -97,7 +97,14 @@ defmodule GroupherServer.CMS.Delegate.ArticleOperation do @doc """ trash / untrash articles """ - def set_community_flags(content, community_id, attrs) do + def set_community_flags(%Community{id: cid}, content, attrs) do + with {:ok, content} <- ORM.find(content.__struct__, content.id), + {:ok, record} <- insert_flag_record(content, cid, attrs) do + {:ok, struct(content, %{trash: record.trash})} + end + end + + def set_community_flags(community_id, content, attrs) do with {:ok, content} <- ORM.find(content.__struct__, content.id), {:ok, community} <- ORM.find(Community, community_id), {:ok, record} <- insert_flag_record(content, community.id, attrs) do diff --git a/lib/groupher_server/cms/delegates/comment_curd.ex b/lib/groupher_server/cms/delegates/comment_curd.ex index 01f5fe06c..a7bda01c2 100644 --- a/lib/groupher_server/cms/delegates/comment_curd.ex +++ b/lib/groupher_server/cms/delegates/comment_curd.ex @@ -92,15 +92,7 @@ defmodule GroupherServer.CMS.Delegate.CommentCURD do ORM.delete(comment) end) |> Multi.run(:update_floor, fn _, _ -> - Repo.update_all( - from(p in action.reactor, where: p.id > ^comment.id), - inc: [floor: -1] - ) - |> done() - |> case do - {:ok, _} -> {:ok, comment} - {:error, _} -> {:error, ""} - end + exec_update_floor(action.reactor, comment) end) |> Repo.transaction() |> delete_comment_result() @@ -185,6 +177,18 @@ defmodule GroupherServer.CMS.Delegate.CommentCURD do {:error, [message: "update follor fails", code: ecode(:delete_fails)]} end + defp exec_update_floor(queryable, comment) do + Repo.update_all( + from(p in queryable, where: p.id > ^comment.id), + inc: [floor: -1] + ) + |> done() + |> case do + {:ok, _} -> {:ok, comment} + {:error, _} -> {:error, ""} + end + end + # simulate a join connection # TODO: use Multi task to refactor # TODO: refactor boilerplate code diff --git a/lib/groupher_server/cms/delegates/community_curd.ex b/lib/groupher_server/cms/delegates/community_curd.ex index 944ed4554..4147f6431 100644 --- a/lib/groupher_server/cms/delegates/community_curd.ex +++ b/lib/groupher_server/cms/delegates/community_curd.ex @@ -174,8 +174,8 @@ defmodule GroupherServer.CMS.Delegate.CommunityCURD do {:ok, ret} -> {:ok, ret} - {:error, error} -> - {:error, error} + {:error, reason} -> + {:error, reason} end end diff --git a/lib/groupher_server_web/resolvers/cms_resolver.ex b/lib/groupher_server_web/resolvers/cms_resolver.ex index d86027540..f0d083e54 100644 --- a/lib/groupher_server_web/resolvers/cms_resolver.ex +++ b/lib/groupher_server_web/resolvers/cms_resolver.ex @@ -167,9 +167,9 @@ defmodule GroupherServerWeb.Resolvers.CMS do defp set_community_flags(community_id, thread, id, flag) do with {:ok, content} <- match_action(thread, :self) do - content.target - |> struct(%{id: id}) - |> CMS.set_community_flags(community_id, flag) + queryable = content.target |> struct(%{id: id}) + + CMS.set_community_flags(community_id, queryable, flag) end end diff --git a/lib/helper/utils.ex b/lib/helper/utils.ex index 9755fa307..3a13484bf 100644 --- a/lib/helper/utils.ex +++ b/lib/helper/utils.ex @@ -35,7 +35,7 @@ defmodule Helper.Utils do def done(_, :boolean), do: {:ok, true} def done(nil, err_msg), do: {:error, err_msg} def done({:ok, _}, with: result), do: {:ok, result} - def done({:error, error}, with: _result), do: {:error, error} + def done({:error, reason}, with: _result), do: {:error, reason} def done({:ok, %{id: id}}, :status), do: {:ok, %{done: true, id: id}} def done({:error, _}, :status), do: {:ok, %{done: false}} @@ -48,8 +48,6 @@ defmodule Helper.Utils do # for delete_all, update_all # see: https://groups.google.com/forum/#!topic/elixir-ecto/1g5Pp6ceqFE def done({n, nil}) when is_integer(n), do: {:ok, %{done: true}} - - # def done({:error, error}), do: {:error, error} def done(result), do: {:ok, result} def done_and_cache(result, scope, expire: expire_time) do diff --git a/test/groupher_server/accounts/favorite_category_test.exs b/test/groupher_server/accounts/favorite_category_test.exs index b3d4dbbe1..5e6448bba 100644 --- a/test/groupher_server/accounts/favorite_category_test.exs +++ b/test/groupher_server/accounts/favorite_category_test.exs @@ -28,9 +28,9 @@ defmodule GroupherServer.Test.Accounts.FavoriteCategory do test "user create dup favorite category fails", ~m(user)a do {:ok, _category} = Accounts.create_favorite_category(user, %{title: "test category"}) - {:error, error} = Accounts.create_favorite_category(user, %{title: "test category"}) + {:error, reason} = Accounts.create_favorite_category(user, %{title: "test category"}) - assert error |> Keyword.get(:code) == ecode(:already_exsit) + assert reason |> Keyword.get(:code) == ecode(:already_exsit) end test "user can get public categories list", ~m(user)a do @@ -120,8 +120,8 @@ defmodule GroupherServer.Test.Accounts.FavoriteCategory do {:ok, category} = Accounts.create_favorite_category(user, %{title: test_category}) {:ok, _} = Accounts.set_favorites(user, :post, post.id, category.id) - {:error, error} = Accounts.set_favorites(user, :post, post.id, category.id) - assert error |> Keyword.get(:code) == ecode(:already_did) + {:error, reason} = Accounts.set_favorites(user, :post, post.id, category.id) + assert reason |> Keyword.get(:code) == ecode(:already_did) end test "user can unset category to a favorited post", ~m(user post)a do diff --git a/test/groupher_server/billing/billing_test.exs b/test/groupher_server/billing/billing_test.exs index 9ddd34720..5e1260a41 100644 --- a/test/groupher_server/billing/billing_test.exs +++ b/test/groupher_server/billing/billing_test.exs @@ -36,8 +36,8 @@ defmodule GroupherServer.Test.Billing do test "create bill record with previous record unhandled fails", ~m(user valid_attrs)a do {:ok, _record} = Billing.create_record(user, valid_attrs) - {:error, error} = Billing.create_record(user, valid_attrs) - assert error |> Keyword.get(:code) == ecode(:exsit_pending_bill) + {:error, reason} = Billing.create_record(user, valid_attrs) + assert reason |> Keyword.get(:code) == ecode(:exsit_pending_bill) end test "record state can be update", ~m(user valid_attrs)a do diff --git a/test/groupher_server/cms/cheatsheet_test.exs b/test/groupher_server/cms/cheatsheet_test.exs index 725d6a168..52652099e 100644 --- a/test/groupher_server/cms/cheatsheet_test.exs +++ b/test/groupher_server/cms/cheatsheet_test.exs @@ -58,8 +58,8 @@ defmodule GroupherServer.Test.CMS.Cheatsheet do assert length(update_contributors) == 1 + length(cur_contributors) # add some again - {:error, error} = CMS.add_contributor(cheatsheet, contributor_attrs) - assert error |> Keyword.get(:code) == ecode(:already_exsit) + {:error, reason} = CMS.add_contributor(cheatsheet, contributor_attrs) + assert reason |> Keyword.get(:code) == ecode(:already_exsit) end end end diff --git a/test/groupher_server/cms/content_flag_test.exs b/test/groupher_server/cms/content_flag_test.exs index e2568d1c6..beddfad1e 100644 --- a/test/groupher_server/cms/content_flag_test.exs +++ b/test/groupher_server/cms/content_flag_test.exs @@ -1,16 +1,14 @@ defmodule GroupherServer.Test.CMS.ContentFlags do + @moduledoc false + use GroupherServer.TestTools alias GroupherServer.CMS alias CMS.{ - Post, PostCommunityFlag, - Repo, RepoCommunityFlag, - Job, JobCommunityFlag, - Video, VideoCommunityFlag } @@ -35,7 +33,7 @@ defmodule GroupherServer.Test.CMS.ContentFlags do {:ok, found} = PostCommunityFlag |> ORM.find_by(~m(post_id community_id)a) assert found.trash == false - CMS.set_community_flags(%Post{id: post.id}, community.id, %{trash: true}) + CMS.set_community_flags(community, post, %{trash: true}) {:ok, found} = PostCommunityFlag |> ORM.find_by(~m(post_id community_id)a) @@ -55,7 +53,7 @@ defmodule GroupherServer.Test.CMS.ContentFlags do {:ok, found} = JobCommunityFlag |> ORM.find_by(~m(job_id community_id)a) assert found.trash == false - CMS.set_community_flags(%Job{id: job.id}, community.id, %{trash: true}) + CMS.set_community_flags(community, job, %{trash: true}) {:ok, found} = JobCommunityFlag |> ORM.find_by(~m(job_id community_id)a) @@ -73,7 +71,7 @@ defmodule GroupherServer.Test.CMS.ContentFlags do {:ok, found} = VideoCommunityFlag |> ORM.find_by(~m(video_id community_id)a) assert found.trash == false - CMS.set_community_flags(%Video{id: video.id}, community.id, %{trash: true}) + CMS.set_community_flags(community, video, %{trash: true}) {:ok, found} = VideoCommunityFlag |> ORM.find_by(~m(video_id community_id)a) @@ -91,7 +89,7 @@ defmodule GroupherServer.Test.CMS.ContentFlags do {:ok, found} = RepoCommunityFlag |> ORM.find_by(~m(repo_id community_id)a) assert found.trash == false - CMS.set_community_flags(%Repo{id: repo.id}, community.id, %{trash: true}) + CMS.set_community_flags(community, repo, %{trash: true}) {:ok, found} = RepoCommunityFlag |> ORM.find_by(~m(repo_id community_id)a) diff --git a/test/groupher_server/cms/wiki_test.exs b/test/groupher_server/cms/wiki_test.exs index d4214d458..2357d1a90 100644 --- a/test/groupher_server/cms/wiki_test.exs +++ b/test/groupher_server/cms/wiki_test.exs @@ -56,8 +56,8 @@ defmodule GroupherServer.Test.Wiki do assert length(update_contributors) == 1 + length(cur_contributors) # add some again - {:error, error} = CMS.add_contributor(wiki, contributor_attrs) - assert error |> Keyword.get(:code) == ecode(:already_exsit) + {:error, reason} = CMS.add_contributor(wiki, contributor_attrs) + assert reason |> Keyword.get(:code) == ecode(:already_exsit) end end end diff --git a/test/groupher_server_web/mutation/cms/cms_manager_test.exs b/test/groupher_server_web/mutation/cms/cms_manager_test.exs index c6712099d..429320f1c 100644 --- a/test/groupher_server_web/mutation/cms/cms_manager_test.exs +++ b/test/groupher_server_web/mutation/cms/cms_manager_test.exs @@ -28,6 +28,7 @@ defmodule GroupherServer.Test.Mutation.CMS.Manager do } } """ + @tag :wip2 test "root can trash a post", ~m(community user)a do post_attrs = mock_attrs(:post, %{community_id: community.id}) {:ok, post} = CMS.create_content(community, :post, post_attrs, user) diff --git a/test/groupher_server_web/mutation/cms/job_flag_test.exs b/test/groupher_server_web/mutation/cms/job_flag_test.exs index 27ad28b4f..bd3cfd468 100644 --- a/test/groupher_server_web/mutation/cms/job_flag_test.exs +++ b/test/groupher_server_web/mutation/cms/job_flag_test.exs @@ -57,7 +57,7 @@ defmodule GroupherServer.Test.Mutation.JobFlag do test "auth user can undo trash job", ~m(community job)a do variables = %{id: job.id, communityId: community.id} - {:ok, _} = CMS.set_community_flags(job, community.id, %{trash: true}) + {:ok, _} = CMS.set_community_flags(community, job, %{trash: true}) passport_rules = %{community.raw => %{"job.undo_trash" => true}} rule_conn = simu_conn(:user, cms: passport_rules) diff --git a/test/groupher_server_web/mutation/cms/post_flag_test.exs b/test/groupher_server_web/mutation/cms/post_flag_test.exs index 62445e462..c9b8e90fb 100644 --- a/test/groupher_server_web/mutation/cms/post_flag_test.exs +++ b/test/groupher_server_web/mutation/cms/post_flag_test.exs @@ -57,7 +57,7 @@ defmodule GroupherServer.Test.Mutation.PostFlag do test "auth user can undo trash post", ~m(community post)a do variables = %{id: post.id, communityId: community.id} - {:ok, _} = CMS.set_community_flags(post, community.id, %{trash: true}) + {:ok, _} = CMS.set_community_flags(community, post, %{trash: true}) passport_rules = %{community.raw => %{"post.undo_trash" => true}} rule_conn = simu_conn(:user, cms: passport_rules) diff --git a/test/groupher_server_web/mutation/cms/repo_flag_test.exs b/test/groupher_server_web/mutation/cms/repo_flag_test.exs index 29a11a153..87620254d 100644 --- a/test/groupher_server_web/mutation/cms/repo_flag_test.exs +++ b/test/groupher_server_web/mutation/cms/repo_flag_test.exs @@ -57,7 +57,7 @@ defmodule GroupherServer.Test.Mutation.RepoFlag do test "auth user can undo trash repo", ~m(community repo)a do variables = %{id: repo.id, communityId: community.id} - {:ok, _} = CMS.set_community_flags(repo, community.id, %{trash: true}) + {:ok, _} = CMS.set_community_flags(community, repo, %{trash: true}) passport_rules = %{community.raw => %{"repo.undo_trash" => true}} rule_conn = simu_conn(:user, cms: passport_rules) diff --git a/test/groupher_server_web/mutation/cms/video_flag_test.exs b/test/groupher_server_web/mutation/cms/video_flag_test.exs index 8b183fc20..977b7e116 100644 --- a/test/groupher_server_web/mutation/cms/video_flag_test.exs +++ b/test/groupher_server_web/mutation/cms/video_flag_test.exs @@ -57,7 +57,7 @@ defmodule GroupherServer.Test.Mutation.VideoFlag do test "auth user can undo trash video", ~m(community video)a do variables = %{id: video.id, communityId: community.id} - {:ok, _} = CMS.set_community_flags(video, community.id, %{trash: true}) + {:ok, _} = CMS.set_community_flags(community, video, %{trash: true}) passport_rules = %{community.raw => %{"video.undo_trash" => true}} rule_conn = simu_conn(:user, cms: passport_rules) diff --git a/test/groupher_server_web/query/cms/jobs_flags_test.exs b/test/groupher_server_web/query/cms/jobs_flags_test.exs index 485f88589..41ee4857f 100644 --- a/test/groupher_server_web/query/cms/jobs_flags_test.exs +++ b/test/groupher_server_web/query/cms/jobs_flags_test.exs @@ -79,7 +79,7 @@ defmodule GroupherServer.Test.Query.JobsFlags do random_id = results["entries"] |> Enum.shuffle() |> List.first() |> Map.get("id") {:ok, _pined_post} = CMS.pin_content(%Job{id: random_id}, community) - # {:ok, _} = CMS.set_community_flags(%Job{id: random_id}, community.id, %{pin: true}) + # {:ok, _} = CMS.set_community_flags(community, %Job{id: random_id}, %{pin: true}) results = guest_conn |> query_result(@query, variables, "pagedJobs") assert results["entries"] |> Enum.any?(&(&1["id"] !== random_id)) @@ -91,7 +91,7 @@ defmodule GroupherServer.Test.Query.JobsFlags do results = guest_conn |> query_result(@query, variables, "pagedJobs") random_id = results["entries"] |> Enum.shuffle() |> List.first() |> Map.get("id") - {:ok, _} = CMS.set_community_flags(%Job{id: random_id}, community.id, %{trash: true}) + {:ok, _} = CMS.set_community_flags(community, %Job{id: random_id}, %{trash: true}) results = guest_conn |> query_result(@query, variables, "pagedJobs") diff --git a/test/groupher_server_web/query/cms/posts_flags_test.exs b/test/groupher_server_web/query/cms/posts_flags_test.exs index dee953b51..99a75cbe4 100644 --- a/test/groupher_server_web/query/cms/posts_flags_test.exs +++ b/test/groupher_server_web/query/cms/posts_flags_test.exs @@ -81,7 +81,7 @@ defmodule GroupherServer.Test.Query.PostsFlags do {:ok, _pined_post} = CMS.pin_content(%Post{id: random_id}, community, "posts") - # {:ok, _} = CMS.set_community_flags(%Post{id: random_id}, community.id, %{pin: true}) + # {:ok, _} = CMS.set_community_flags(community, %Post{id: random_id}, %{pin: true}) results = guest_conn |> query_result(@query, variables, "pagedPosts") assert results["entries"] |> Enum.any?(&(&1["id"] !== random_id)) @@ -93,7 +93,7 @@ defmodule GroupherServer.Test.Query.PostsFlags do results = guest_conn |> query_result(@query, variables, "pagedPosts") random_id = results["entries"] |> Enum.shuffle() |> List.first() |> Map.get("id") - {:ok, _} = CMS.set_community_flags(%Post{id: random_id}, community.id, %{trash: true}) + {:ok, _} = CMS.set_community_flags(community, %Post{id: random_id}, %{trash: true}) results = guest_conn |> query_result(@query, variables, "pagedPosts") diff --git a/test/groupher_server_web/query/cms/repos_flags_test.exs b/test/groupher_server_web/query/cms/repos_flags_test.exs index 1d9b14af1..27e770c84 100644 --- a/test/groupher_server_web/query/cms/repos_flags_test.exs +++ b/test/groupher_server_web/query/cms/repos_flags_test.exs @@ -90,7 +90,7 @@ defmodule GroupherServer.Test.Query.ReposFlags do results = guest_conn |> query_result(@query, variables, "pagedRepos") random_id = results["entries"] |> Enum.shuffle() |> List.first() |> Map.get("id") - {:ok, _} = CMS.set_community_flags(%Repo{id: random_id}, community.id, %{trash: true}) + {:ok, _} = CMS.set_community_flags(community, %Repo{id: random_id}, %{trash: true}) results = guest_conn |> query_result(@query, variables, "pagedRepos") diff --git a/test/groupher_server_web/query/cms/videos_flags_test.exs b/test/groupher_server_web/query/cms/videos_flags_test.exs index dbff79d72..e00bdda7d 100644 --- a/test/groupher_server_web/query/cms/videos_flags_test.exs +++ b/test/groupher_server_web/query/cms/videos_flags_test.exs @@ -77,7 +77,7 @@ defmodule GroupherServer.Test.Query.VideosFlags do assert results |> is_valid_pagination? random_id = results["entries"] |> Enum.shuffle() |> List.first() |> Map.get("id") - {:ok, _} = CMS.set_community_flags(%Video{id: random_id}, community.id, %{pin: true}) + {:ok, _} = CMS.set_community_flags(community, %Video{id: random_id}, %{pin: true}) results = guest_conn |> query_result(@query, variables, "pagedVideos") assert results["entries"] |> Enum.any?(&(&1["id"] !== random_id)) @@ -89,7 +89,7 @@ defmodule GroupherServer.Test.Query.VideosFlags do results = guest_conn |> query_result(@query, variables, "pagedVideos") random_id = results["entries"] |> Enum.shuffle() |> List.first() |> Map.get("id") - {:ok, _} = CMS.set_community_flags(%Video{id: random_id}, community.id, %{trash: true}) + {:ok, _} = CMS.set_community_flags(community, %Video{id: random_id}, %{trash: true}) results = guest_conn |> query_result(@query, variables, "pagedVideos")