Sha256: 59f8ed2878e490b11a2d86f919a963ef112660886e61dd02fcd9eddab35a4e04

Contents?: true

Size: 957 Bytes

Versions: 4

Compression:

Stored size: 957 Bytes

Contents

require 'spec_helper'


describe StripeLocal::Customer do
  let(:response) { File.read("./spec/webhook_fixtures/customer_creation_response.json") }
  let(:stripe_customer) { Stripe::StripeObject.construct_from(MultiJson.load(response)) }
  let(:client) { ::Client.create( name: "Test Case", email: "test@test.com", password: "password" ) }

  it "can normalize a customer on create" do
    Stripe::Customer.should_receive( :create ).and_return stripe_customer
    stripe_customer.should_receive :update_subscription
    StripeLocal::Customer.should_receive( :create ).and_call_original
    StripeLocal::Customer.should_receive( :normalize ).and_call_original
    client.signup( {card: "token", plan: "GIN100"} )

    client.customer.id.should eq "cus_123"

    client.subscription.plan_id.should eq "GIN100"
  end

  it "derives its model association via the StripeLocal method :model_class" do
    StripeLocal.model_class.new.should be_a Client
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
stripe_local-0.2.3 spec/models/stripe_local/customer_spec.rb
stripe_local-0.2.2 spec/models/stripe_local/customer_spec.rb
stripe_local-0.2.1 spec/models/stripe_local/customer_spec.rb
stripe_local-0.2.0 spec/models/stripe_local/customer_spec.rb