[#1304] Moved all non-mutes / non-blocks fields from User.Info to User. WIP.

This commit is contained in:
Ivan Tashkinov 2019-10-16 21:59:21 +03:00
commit 10ff01acd9
88 changed files with 1069 additions and 1170 deletions

View file

@ -22,18 +22,18 @@ defmodule Mix.Tasks.Pleroma.CountStatusesTest do
user = refresh_record(user)
user2 = refresh_record(user2)
assert %{info: %{note_count: 2}} = user
assert %{info: %{note_count: 1}} = user2
assert %{note_count: 2} = user
assert %{note_count: 1} = user2
{:ok, user} = User.update_info(user, &User.Info.set_note_count(&1, 0))
{:ok, user2} = User.update_info(user2, &User.Info.set_note_count(&1, 0))
{:ok, user} = User.update_note_count(user, 0)
{:ok, user2} = User.update_note_count(user2, 0)
assert %{info: %{note_count: 0}} = user
assert %{info: %{note_count: 0}} = user2
assert %{note_count: 0} = user
assert %{note_count: 0} = user2
assert capture_io(fn -> Mix.Tasks.Pleroma.CountStatuses.run([]) end) == "Done\n"
assert %{info: %{note_count: 2}} = refresh_record(user)
assert %{info: %{note_count: 1}} = refresh_record(user2)
assert %{note_count: 2} = refresh_record(user)
assert %{note_count: 1} = refresh_record(user2)
end
end

View file

@ -72,26 +72,25 @@ defmodule Mix.Tasks.Pleroma.DatabaseTest do
describe "running update_users_following_followers_counts" do
test "following and followers count are updated" do
[user, user2] = insert_pair(:user)
{:ok, %User{following: following, info: info} = user} = User.follow(user, user2)
{:ok, %User{following: following} = user} = User.follow(user, user2)
assert length(following) == 2
assert info.follower_count == 0
assert user.follower_count == 0
{:ok, user} =
user
|> Ecto.Changeset.change(%{following: following ++ following})
|> User.change_info(&Ecto.Changeset.change(&1, %{follower_count: 3}))
|> Ecto.Changeset.change(%{following: following ++ following, follower_count: 3})
|> Repo.update()
assert length(user.following) == 4
assert user.info.follower_count == 3
assert user.follower_count == 3
assert :ok == Mix.Tasks.Pleroma.Database.run(["update_users_following_followers_counts"])
user = User.get_by_id(user.id)
assert length(user.following) == 2
assert user.info.follower_count == 0
assert user.follower_count == 0
end
end

View file

@ -58,8 +58,8 @@ defmodule Mix.Tasks.Pleroma.UserTest do
assert user.name == unsaved.name
assert user.email == unsaved.email
assert user.bio == unsaved.bio
assert user.info.is_moderator
assert user.info.is_admin
assert user.is_moderator
assert user.is_admin
end
test "user is not created" do
@ -113,11 +113,11 @@ defmodule Mix.Tasks.Pleroma.UserTest do
assert message =~ " deactivated"
user = User.get_cached_by_nickname(user.nickname)
assert user.info.deactivated
assert user.deactivated
end
test "user is activated" do
user = insert(:user, info: %{deactivated: true})
user = insert(:user, deactivated: true)
Mix.Tasks.Pleroma.User.run(["toggle_activated", user.nickname])
@ -125,7 +125,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do
assert message =~ " activated"
user = User.get_cached_by_nickname(user.nickname)
refute user.info.deactivated
refute user.deactivated
end
test "no user to toggle" do
@ -155,7 +155,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do
user = User.get_cached_by_nickname(user.nickname)
assert Enum.empty?(user.following)
assert user.info.deactivated
assert user.deactivated
end
test "no user to unsubscribe" do
@ -182,13 +182,13 @@ defmodule Mix.Tasks.Pleroma.UserTest do
assert message =~ ~r/Admin status .* true/
user = User.get_cached_by_nickname(user.nickname)
assert user.info.is_moderator
assert user.info.locked
assert user.info.is_admin
assert user.is_moderator
assert user.locked
assert user.is_admin
end
test "All statuses unset" do
user = insert(:user, info: %{is_moderator: true, locked: true, is_admin: true})
user = insert(:user, locked: true, is_moderator: true, is_admin: true)
Mix.Tasks.Pleroma.User.run([
"set",
@ -208,9 +208,9 @@ defmodule Mix.Tasks.Pleroma.UserTest do
assert message =~ ~r/Admin status .* false/
user = User.get_cached_by_nickname(user.nickname)
refute user.info.is_moderator
refute user.info.locked
refute user.info.is_admin
refute user.is_moderator
refute user.locked
refute user.is_admin
end
test "no user to set status" do
@ -358,28 +358,28 @@ defmodule Mix.Tasks.Pleroma.UserTest do
describe "running toggle_confirmed" do
test "user is confirmed" do
%{id: id, nickname: nickname} = insert(:user, info: %{confirmation_pending: false})
%{id: id, nickname: nickname} = insert(:user, confirmation_pending: false)
assert :ok = Mix.Tasks.Pleroma.User.run(["toggle_confirmed", nickname])
assert_received {:mix_shell, :info, [message]}
assert message == "#{nickname} needs confirmation."
user = Repo.get(User, id)
assert user.info.confirmation_pending
assert user.info.confirmation_token
assert user.confirmation_pending
assert user.confirmation_token
end
test "user is not confirmed" do
%{id: id, nickname: nickname} =
insert(:user, info: %{confirmation_pending: true, confirmation_token: "some token"})
insert(:user, confirmation_pending: true, confirmation_token: "some token")
assert :ok = Mix.Tasks.Pleroma.User.run(["toggle_confirmed", nickname])
assert_received {:mix_shell, :info, [message]}
assert message == "#{nickname} doesn't need confirmation."
user = Repo.get(User, id)
refute user.info.confirmation_pending
refute user.info.confirmation_token
refute user.confirmation_pending
refute user.confirmation_token
end
test "it prints an error message when user is not exist" do