spec/features/users/sign_up_spec.rb in cadenero-0.0.2.b3 vs spec/features/users/sign_up_spec.rb in cadenero-0.0.2.b4

- old
+ new

@@ -1,27 +1,32 @@ require 'spec_helper' +require 'cadenero/testing_support/authentication_helpers' -def create_account_user - @user ||= { email: "user@example.com", password: "password", password_confirmation: "password" } -end - -def find_account_by_email - @account = Cadenero::V1::Account.where(name: @user[:email]).first -end - -def sign_up_user(url) - create_account_user - post "#{url}/v1/users", format: :json, user: @user - find_account_by_email -end - feature "User signup" do - let(:account) { FactoryGirl.create(:account_with_schema) } + include Cadenero::TestingSupport::AuthenticationHelpers + + let!(:account) { FactoryGirl.create(:account_with_schema) } let(:root_url) { "http://#{account.subdomain}.example.com/" } scenario "under an account" do sign_up_user root_url expect(last_response.status).to eq 201 - puts "last_response.body: #{last_response.body}" - expect(JSON.parse(last_response.body)["user"]["membership_ids"]).to eq [account.id] + expect(json_last_response_body["user"]["membership_ids"]).to eq [account.id] expect(last_request.url).to eq "#{root_url}v1/users" + get "#{root_url}v1/users/#{json_last_response_body['user']['id']}" + expect(json_last_response_body["user"]["membership_ids"]).to eq [account.id] end + + scenario "under two accounts" do + sign_up_user root_url + user_id = json_last_response_body['user']['id'] + get "#{root_url}v1/users/#{user_id}" + expect(json_last_response_body["user"]["membership_ids"]).to eq [account.id] + second_account = FactoryGirl.create(:account_with_schema, owner: Cadenero::User.where(id: user_id).first) + sign_up_user "http://#{second_account.subdomain}.example.com/" + expect(json_last_response_body["user"]["membership_ids"]).to eq [second_account.id] + get "#{root_url}v1/users/#{user_id}" + expect(json_last_response_body["user"]["membership_ids"]).to eq [account.id, second_account.id] + get "#{root_url}v1/users" + expect(json_last_response_body["users"].length).to eq 2 + end + end \ No newline at end of file