diff options
Diffstat (limited to 'spec/requests/api/sign_ups/create_spec.cr')
-rw-r--r-- | spec/requests/api/sign_ups/create_spec.cr | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/requests/api/sign_ups/create_spec.cr b/spec/requests/api/sign_ups/create_spec.cr new file mode 100644 index 0000000..2a23542 --- /dev/null +++ b/spec/requests/api/sign_ups/create_spec.cr @@ -0,0 +1,34 @@ +require "../../../spec_helper" + +describe Api::SignUps::Create do + it "creates user on sign up" do + UserToken.stub_token("fake-token") do + response = ApiClient.exec(Api::SignUps::Create, user: valid_params) + + response.should send_json(200, token: "fake-token") + new_user = UserQuery.first + new_user.email.should eq(valid_params[:email]) + end + end + + it "returns error for invalid params" do + invalid_params = valid_params.merge(password_confirmation: "wrong") + + response = ApiClient.exec(Api::SignUps::Create, user: invalid_params) + + UserQuery.new.select_count.should eq(0) + response.should send_json( + 400, + param: "password_confirmation", + details: "password_confirmation must match" + ) + end +end + +private def valid_params + { + email: "test@email.com", + password: "password", + password_confirmation: "password", + } +end |