field(:tags, {:array, :string}, default: [])
field(:bookmarks, {:array, :string}, default: [])
field(:last_refreshed_at, :naive_datetime_usec)
- field(:current_sign_in_at, :naive_datetime)
field(:last_digest_emailed_at, :naive_datetime)
has_many(:notifications, Notification)
has_many(:registrations, Registration)
use Pleroma.DataCase
import Pleroma.Factory
- import Mock
alias Pleroma.Notification
alias Pleroma.User
assert n2.seen == true
assert n3.seen == false
end
-
- test "Updates `updated_at` field" do
- user1 = insert(:user)
- user2 = insert(:user)
-
- Enum.each(0..10, fn i ->
- {:ok, _activity} =
- TwitterAPI.create_status(user1, %{
- "status" => "#{i} hi @#{user2.nickname}"
- })
- end)
-
- [notification | _] = Notification.for_user(user2)
-
- utc_now = NaiveDateTime.utc_now()
- future = NaiveDateTime.add(utc_now, 5, :second)
-
- with_mock NaiveDateTime, utc_now: fn -> future end do
- Notification.set_read_up_to(user2, notification.id)
-
- Notification.for_user(user2)
- |> Enum.each(fn notification ->
- assert notification.updated_at > notification.inserted_at
- end)
- end
- end
end
describe "for_user_since/2" do
nickname: "testname",
password_hash: Comeonin.Pbkdf2.hashpwsalt("test"),
bio: "A tester.",
- ap_id: "some id"
+ ap_id: "some id",
+ last_digest_emailed_at: NaiveDateTime.truncate(NaiveDateTime.utc_now(), :second)
}
Map.merge(user, data)
nickname: sequence(:nickname, &"nick#{&1}"),
password_hash: Comeonin.Pbkdf2.hashpwsalt("test"),
bio: sequence(:bio, &"Tester Number #{&1}"),
- info: %{}
+ info: %{},
+ last_digest_emailed_at: NaiveDateTime.utc_now()
}
%{