aboutsummaryrefslogtreecommitdiff
path: root/spec/requests/api/sign_ups/create_spec.cr
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/api/sign_ups/create_spec.cr')
-rw-r--r--spec/requests/api/sign_ups/create_spec.cr34
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