X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fweb%2Fcommon_api%2Fcommon_api_utils_test.exs;h=ab4c62b35f8e5cded5df8347238ab6e892262d3c;hb=e2b3a27204ca511a2e455a1151fdea36fdc0e53d;hp=689bdd61eb34fd33d80876f7843fd2e55f45a0fb;hpb=6ff583e5e10e59fe76cb51ce3d04587307af9eae;p=akkoma
diff --git a/test/web/common_api/common_api_utils_test.exs b/test/web/common_api/common_api_utils_test.exs
index 689bdd61e..ab4c62b35 100644
--- a/test/web/common_api/common_api_utils_test.exs
+++ b/test/web/common_api/common_api_utils_test.exs
@@ -1,5 +1,12 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2018 Pleroma Authors
Sakura Mana â Turned on by a Seâ¦"
end
+
+ describe "it confirms the password given is the current users password" do
+ test "incorrect password given" do
+ {:ok, user} = UserBuilder.insert()
+
+ assert Utils.confirm_current_password(user, "") == {:error, "Invalid password."}
+ end
+
+ test "correct password given" do
+ {:ok, user} = UserBuilder.insert()
+ assert Utils.confirm_current_password(user, "test") == {:ok, user}
+ end
+ end
+
+ test "parses emoji from name and bio" do
+ {:ok, user} = UserBuilder.insert(%{name: ":blank:", bio: ":firefox:"})
+
+ expected = [
+ %{
+ "type" => "Emoji",
+ "icon" => %{"type" => "Image", "url" => "#{Endpoint.url()}/emoji/Firefox.gif"},
+ "name" => ":firefox:"
+ },
+ %{
+ "type" => "Emoji",
+ "icon" => %{
+ "type" => "Image",
+ "url" => "#{Endpoint.url()}/emoji/blank.png"
+ },
+ "name" => ":blank:"
+ }
+ ]
+
+ assert expected == Utils.emoji_from_profile(user)
+ end
+
+ describe "format_input/3" do
+ test "works for bare text/plain" do
+ text = "hello world!"
+ expected = "hello world!"
+
+ {output, [], []} = Utils.format_input(text, "text/plain")
+
+ assert output == expected
+
+ text = "hello world!\n\nsecond paragraph!"
+ expected = "hello world!
second paragraph!"
+
+ {output, [], []} = Utils.format_input(text, "text/plain")
+
+ assert output == expected
+ end
+
+ test "works for bare text/html" do
+ text = "
hello world!
" + expected = "hello world!
" + + {output, [], []} = Utils.format_input(text, "text/html") + + assert output == expected + + text = "hello world!
\n\nsecond paragraph
" + expected = "hello world!
\n\nsecond paragraph
" + + {output, [], []} = Utils.format_input(text, "text/html") + + assert output == expected + end + + test "works for bare text/markdown" do + text = "**hello world**" + expected = "hello world
\n" + + {output, [], []} = Utils.format_input(text, "text/markdown") + + assert output == expected + + text = "**hello world**\n\n*another paragraph*" + expected = "hello world
\nanother paragraph
\n" + + {output, [], []} = Utils.format_input(text, "text/markdown") + + assert output == expected + + text = """ + > cool quote + + by someone + """ + + expected = "\ncool quote
\n
by someone
\n" + + {output, [], []} = Utils.format_input(text, "text/markdown") + + assert output == expected + end + + test "works for bare text/bbcode" do + text = "[b]hello world[/b]" + expected = "hello world" + + {output, [], []} = Utils.format_input(text, "text/bbcode") + + assert output == expected + + text = "[b]hello world![/b]\n\nsecond paragraph!" + expected = "hello world!hello world
\nanother @user__test and @user__test google.com paragraph
\n" + + {output, _, _} = Utils.format_input(text, "text/markdown") + + assert output == expected + end + end + + describe "context_to_conversation_id" do + test "creates a mapping object" do + conversation_id = Utils.context_to_conversation_id("random context") + object = Object.get_by_ap_id("random context") + + assert conversation_id == object.id + end + + test "returns an existing mapping for an existing object" do + {:ok, object} = Object.context_mapping("random context") |> Repo.insert() + conversation_id = Utils.context_to_conversation_id("random context") + + assert conversation_id == object.id + end + end + + describe "formats date to asctime" do + test "when date is in ISO 8601 format" do + date = DateTime.utc_now() |> DateTime.to_iso8601() + + expected = + date + |> DateTime.from_iso8601() + |> elem(1) + |> Calendar.Strftime.strftime!("%a %b %d %H:%M:%S %z %Y") + + assert Utils.date_to_asctime(date) == expected + end + + test "when date is a binary in wrong format" do + date = DateTime.utc_now() + + expected = "" + + assert Utils.date_to_asctime(date) == expected + end + + test "when date is a Unix timestamp" do + date = DateTime.utc_now() |> DateTime.to_unix() + + expected = "" + + assert Utils.date_to_asctime(date) == expected + end + + test "when date is nil" do + expected = "" + + assert Utils.date_to_asctime(nil) == expected + end + end end