Fixes #415. Properly handle nil and empty string by User.parse_bio

This commit is contained in:
raeno 2018-12-10 01:01:43 +04:00
parent cf85a9aea1
commit 9ba4a1c5fe
2 changed files with 23 additions and 2 deletions

View file

@ -804,7 +804,11 @@ def wait_and_refresh(timeout, %User{} = a, %User{} = b) do
end
end
def parse_bio(bio, user \\ %User{info: %{source_data: %{}}}) do
def parse_bio(bio, user \\ %User{info: %{source_data: %{}}})
def parse_bio(nil, user), do: ""
def parse_bio(bio, user) when bio == "", do: bio
def parse_bio(bio, user) do
mentions = Formatter.parse_mentions(bio)
tags = Formatter.parse_tags(bio)

View file

@ -246,7 +246,24 @@ test "it registers a new user and returns the user." do
"nickname" => "lain",
"email" => "lain@wired.jp",
"fullname" => "lain iwakura",
"bio" => "close the world.",
"password" => "bear",
"confirm" => "bear"
}
{:ok, user} = TwitterAPI.register_user(data)
fetched_user = Repo.get_by(User, nickname: "lain")
assert UserView.render("show.json", %{user: user}) ==
UserView.render("show.json", %{user: fetched_user})
end
test "it registers a new user with empty string in bio and returns the user." do
data = %{
"nickname" => "lain",
"email" => "lain@wired.jp",
"fullname" => "lain iwakura",
"bio" => "",
"password" => "bear",
"confirm" => "bear"
}