Sha256: 3a7b14b5039b5b51ef94fbaf7264b47a4ae7c52488f91f46f60db91f1b95cfa3

Contents?: true

Size: 1.2 KB

Versions: 2

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe 'customer', type: :unit do
  it 'can_be_put_on_a_generic_trial' do
    user = User.new

    expect(user.on_generic_trial).to be false

    user.trial_ends_at = Time.current + 1.day

    expect(user.on_generic_trial).to be true

    user.trial_ends_at = Time.current - 5.days

    expect(user.on_generic_trial).to be false
  end

  it 'can_determine_if_the_user_has_a_default_payment_method' do
    user = User.new

    user.card_brand = 'visa'

    expect(user.default_payment_method?).to be true

    user = User.new

    expect(user.default_payment_method?).to be false
  end

  it 'returns_nil_default_payment_method_when_the_user_is_not_a_customer_yet' do
    user = User.new

    expect(user.default_payment_method).to be_nil
  end

  it 'cannot_return_stripe_customer_when_stripe_id_is_not_set' do
    user = User.new

    expect do
      user.as_stripe_customer
    end.to raise_error(Reji::InvalidCustomerError)
  end

  it 'cannot_create_stripe_customer_when_stripe_id_is_already_set' do
    user = User.new
    user.stripe_id = 'foo'

    expect do
      user.create_as_stripe_customer
    end.to raise_error(Reji::CustomerAlreadyCreatedError)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reji-1.1.1 spec/unit/customer_spec.rb
reji-1.1.0 spec/unit/customer_spec.rb