Sha256: b5d7d10b1628704c644ec83f5b59e36e69f7f3c84e6b3a2cf059883de6ab7116

Contents?: true

Size: 1.42 KB

Versions: 5

Compression:

Stored size: 1.42 KB

Contents

require 'spec_helper'

module Cadenero
  describe V1::AccountsController 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

    context "creates the account's schema" do
      before do
        account.stub :valid? => true
      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, 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

    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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cadenero-0.0.2.b4 spec/controllers/cadenero/v1/accounts_controller_spec.rb
cadenero-0.0.2.b3 spec/controllers/cadenero/v1/accounts_controller_spec.rb
cadenero-0.0.2.b2 spec/controllers/cadenero/v1/accounts_controller_spec.rb
cadenero-0.0.2.b1 spec/controllers/cadenero/v1/accounts_controller_spec.rb
cadenero-0.0.2.a3 spec/controllers/cadenero/v1/accounts_controller_spec.rb