summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--priv/repo/migrations/20170522160642_case_insensivtivity.exs19
-rw-r--r--test/user_test.exs7
2 files changed, 26 insertions, 0 deletions
diff --git a/priv/repo/migrations/20170522160642_case_insensivtivity.exs b/priv/repo/migrations/20170522160642_case_insensivtivity.exs
new file mode 100644
index 000000000..c7565946e
--- /dev/null
+++ b/priv/repo/migrations/20170522160642_case_insensivtivity.exs
@@ -0,0 +1,19 @@
+defmodule Pleroma.Repo.Migrations.CaseInsensivtivity do
+ use Ecto.Migration
+
+ def up do
+ execute ("create extension if not exists citext")
+ alter table(:users) do
+ modify :email, :citext
+ modify :nickname, :citext
+ end
+ end
+
+ def down do
+ alter table(:users) do
+ modify :email, :string
+ modify :nickname, :string
+ end
+ execute ("drop extension if exists citext")
+ end
+end
diff --git a/test/user_test.exs b/test/user_test.exs
index b87d31862..6a7ecca27 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -114,6 +114,13 @@ defmodule Pleroma.UserTest do
assert user == fetched_user
end
+ test "gets an existing user, case insensitive" do
+ user = insert(:user, nickname: "nick")
+ fetched_user = User.get_or_fetch_by_nickname("NICK")
+
+ assert user == fetched_user
+ end
+
test "fetches an external user via ostatus if no user exists" do
fetched_user = User.get_or_fetch_by_nickname("shp@social.heldscal.la")
assert fetched_user.nickname == "shp@social.heldscal.la"