spec/controllers/cadenero/v1/accounts_controller_spec.rb in cadenero-0.0.2.a2 vs spec/controllers/cadenero/v1/accounts_controller_spec.rb in cadenero-0.0.2.a3

- old
+ new

@@ -1,25 +1,41 @@ require 'spec_helper' module Cadenero describe V1::AccountsController do - context "creates the account's schema" do + let!(:account) { stub_model(Cadenero::V1::Account, id: 1001, authentication_token: "dsdaefer412add") } + + before do + Cadenero::V1::Account.should_receive(:create_with_owner).and_return(account) + controller.stub(:force_authentication!) + end - let!(:account) { stub_model(Cadenero::V1::Account) } - + context "creates the account's schema" do before do - Cadenero::V1::Account.should_receive(:create_with_owner).and_return(account) account.stub :valid? => true - controller.stub(:force_authentication!) - end - + end it "should create a schema and ensure a token is returned for the account on successful creation" do account.should_receive(:create_schema) account.should_receive(:ensure_authentication_token!) - post :create, account: { name: "First Account", subdomain: "first" }, use_route: :cadenero - expect(account.authentication_token).not_to eq nil - end + post :create, format: :json, account: { name: "First Account", subdomain: "first" }, use_route: :cadenero + expect(response.status).to eq(201) + expect(assigns(:account)).to eq(account) + expect(assigns(:account)[:authentication_token]).to eq(account.authentication_token) + end + end - end + context "when the message fails to save" do + before do + account.stub(:save).and_return(false) + account.stub :valid? => false + end + it "assigns @data to error" do + post :create, format: :json, account: {name: "First Account" }, use_route: :cadenero + expect(response.status).to eq(422) + expect(assigns(:data).to_json).to eq({ + errors: account.errors + }.to_json) + end + end end end