Sha256: 28ed55a8bfe5fd679984c1c159cac3dec1325b7da163daff698fda5b9588632d

Contents?: true

Size: 1.14 KB

Versions: 6

Compression:

Stored size: 1.14 KB

Contents

require 'spec_helper'

describe 'Storefront API v2 Account Confirmation spec', type: :request do
  describe 'account_confirmations#show' do

    before do
      Spree::User.stub(:confirm_by_token, confirmation_token: confirmation_token).and_return user
      get "/api/v2/storefront/account_confirmations/#{confirmation_token}"
    end

    context 'valid confirmation_token param' do
      let(:user) { create(:user, confirmation_token: '12345') }
      let(:confirmation_token) { user.confirmation_token }

      it_behaves_like 'returns 200 HTTP status'

      it 'returns user state' do
        expect(JSON.parse(response.body)['data']['state']).to eq('')
      end
    end

    context 'invalid confirmation_token param' do
      let(:user) do
        user = create(:user)
        user.errors.add(:confirmation_token, :invalid)
        return user
      end
      let(:confirmation_token) { 'dummy_token' }

      it 'return 422 status' do
        expect(response.code).to eq('422')
      end

      it 'return JSON API payload of error' do
        expect(JSON.parse(response.body)['error']).to eq("Confirmation token is invalid")
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
spree_auth_devise-4.6.3 spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb
spree_auth_devise-4.6.2 spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb
spree_auth_devise-4.6.1 spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb
spree_auth_devise-4.6.0 spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb
spree_auth_devise-4.5.0 spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb
spree_auth_devise-4.4.2 spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb