summaryrefslogtreecommitdiff
path: root/test/user/notification_setting_test.exs
diff options
context:
space:
mode:
Diffstat (limited to 'test/user/notification_setting_test.exs')
-rw-r--r--test/user/notification_setting_test.exs40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/user/notification_setting_test.exs b/test/user/notification_setting_test.exs
new file mode 100644
index 000000000..d1f766eb3
--- /dev/null
+++ b/test/user/notification_setting_test.exs
@@ -0,0 +1,40 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.User.NotificationSettingTest do
+ use Pleroma.DataCase
+
+ alias Pleroma.User.NotificationSetting
+
+ describe "changeset/2" do
+ test "sets valid privacy option" do
+ changeset =
+ NotificationSetting.changeset(
+ %NotificationSetting{},
+ %{"privacy_option" => "name_only"}
+ )
+
+ assert %Ecto.Changeset{valid?: true} = changeset
+ end
+
+ test "returns invalid changeset when privacy option is incorrect" do
+ changeset =
+ NotificationSetting.changeset(
+ %NotificationSetting{},
+ %{"privacy_option" => "full_content"}
+ )
+
+ assert %Ecto.Changeset{valid?: false} = changeset
+
+ assert [
+ privacy_option:
+ {"is invalid",
+ [
+ validation: :inclusion,
+ enum: ["name_and_message", "name_only", "no_name_or_message"]
+ ]}
+ ] = changeset.errors
+ end
+ end
+end