d1f766eb346532d8e0aec97ac6a920ac85299bd1
[akkoma] / test / user / notification_setting_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.User.NotificationSettingTest do
6 use Pleroma.DataCase
7
8 alias Pleroma.User.NotificationSetting
9
10 describe "changeset/2" do
11 test "sets valid privacy option" do
12 changeset =
13 NotificationSetting.changeset(
14 %NotificationSetting{},
15 %{"privacy_option" => "name_only"}
16 )
17
18 assert %Ecto.Changeset{valid?: true} = changeset
19 end
20
21 test "returns invalid changeset when privacy option is incorrect" do
22 changeset =
23 NotificationSetting.changeset(
24 %NotificationSetting{},
25 %{"privacy_option" => "full_content"}
26 )
27
28 assert %Ecto.Changeset{valid?: false} = changeset
29
30 assert [
31 privacy_option:
32 {"is invalid",
33 [
34 validation: :inclusion,
35 enum: ["name_and_message", "name_only", "no_name_or_message"]
36 ]}
37 ] = changeset.errors
38 end
39 end
40 end