Sha256: 3143e3d5a57a905e6a8ff2c3829568f6dfcef87ad6bbe2a246b542bfc7d241d3

Contents?: true

Size: 923 Bytes

Versions: 2

Compression:

Stored size: 923 Bytes

Contents

require 'test_helper'

describe Supercharged::ChargesController do
  describe "create action" do
    describe "authorized" do
      let(:fake_user) { User.create! }

      before do
        Supercharged::ChargesController.any_instance.stubs(:current_user).returns(fake_user)
      end

      describe "correct conditions" do
        it "response contains id in json" do
          post :create, charge: { amount: 100 }

          assert_response :success

          expected = {"charge"=>{"id"=>1}}
          JSON.parse(@response.body).must_equal(expected)
        end
      end

      describe "bad conditions" do
        it "response contains errors in json" do
          post :create, charge: { amount: 0 }

          assert_response 422

          expected = {"errors"=>{"amount"=>["must be greater than or equal to 1"]}}
          JSON.parse(@response.body).must_equal(expected)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
supercharged-2.2.0 test/supercharged/controllers/charges_controller_test.rb
supercharged-2.1.0 test/supercharged/controllers/charges_controller_test.rb