diff options
| author | lambda <pleromagit@rogerbraun.net> | 2018-08-12 12:04:15 +0000 | 
|---|---|---|
| committer | lambda <pleromagit@rogerbraun.net> | 2018-08-12 12:04:15 +0000 | 
| commit | 13440a80e1e30141f0f0466ff351bd6f9c148228 (patch) | |
| tree | 5e58e60026c956026f7cb7712cbee1a30e60838b /test | |
| parent | 9de614573754c9a1ae9d1b58399fafcc78ee5286 (diff) | |
| parent | 1e9d152d608c83c906ed9a4ca2c6a21d644e2728 (diff) | |
| download | pleroma-13440a80e1e30141f0f0466ff351bd6f9c148228.tar.gz pleroma-13440a80e1e30141f0f0466ff351bd6f9c148228.zip | |
Merge branch 'feature/invites' into 'develop'
Invites
Closes #108
See merge request pleroma/pleroma!208
Diffstat (limited to 'test')
| -rw-r--r-- | test/web/twitter_api/twitter_api_test.exs | 66 | 
1 files changed, 65 insertions, 1 deletions
| diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 06c1ba6ec..6486540f8 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -2,7 +2,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do    use Pleroma.DataCase    alias Pleroma.Builders.UserBuilder    alias Pleroma.Web.TwitterAPI.{TwitterAPI, UserView} -  alias Pleroma.{Activity, User, Object, Repo} +  alias Pleroma.{Activity, User, Object, Repo, UserInviteToken}    alias Pleroma.Web.ActivityPub.ActivityPub    alias Pleroma.Web.TwitterAPI.ActivityView @@ -257,6 +257,70 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do               UserView.render("show.json", %{user: fetched_user})    end +  @moduletag skip: "needs 'registrations_open: false' in config" +  test "it registers a new user via invite token and returns the user." do +    {:ok, token} = UserInviteToken.create_token() + +    data = %{ +      "nickname" => "vinny", +      "email" => "pasta@pizza.vs", +      "fullname" => "Vinny Vinesauce", +      "bio" => "streamer", +      "password" => "hiptofbees", +      "confirm" => "hiptofbees", +      "token" => token.token +    } + +    {:ok, user} = TwitterAPI.register_user(data) + +    fetched_user = Repo.get_by(User, nickname: "vinny") +    token = Repo.get_by(UserInviteToken, token: token.token) + +    assert token.used == true + +    assert UserView.render("show.json", %{user: user}) == +             UserView.render("show.json", %{user: fetched_user}) +  end + +  @moduletag skip: "needs 'registrations_open: false' in config" +  test "it returns an error if invalid token submitted" do +    data = %{ +      "nickname" => "GrimReaper", +      "email" => "death@reapers.afterlife", +      "fullname" => "Reaper Grim", +      "bio" => "Your time has come", +      "password" => "scythe", +      "confirm" => "scythe", +      "token" => "DudeLetMeInImAFairy" +    } + +    {:error, msg} = TwitterAPI.register_user(data) + +    assert msg == "Invalid token" +    refute Repo.get_by(User, nickname: "GrimReaper") +  end + +  @moduletag skip: "needs 'registrations_open: false' in config" +  test "it returns an error if expired token submitted" do +    {:ok, token} = UserInviteToken.create_token() +    UserInviteToken.mark_as_used(token.token) + +    data = %{ +      "nickname" => "GrimReaper", +      "email" => "death@reapers.afterlife", +      "fullname" => "Reaper Grim", +      "bio" => "Your time has come", +      "password" => "scythe", +      "confirm" => "scythe", +      "token" => token.token +    } + +    {:error, msg} = TwitterAPI.register_user(data) + +    assert msg == "Expired token" +    refute Repo.get_by(User, nickname: "GrimReaper") +  end +    test "it returns the error on registration problems" do      data = %{        "nickname" => "lain", | 
