Sha256: ec0b45e295e84f8664940bc252101324aa3879b7822df12f17202d3f0a179162

Contents?: true

Size: 1.56 KB

Versions: 17

Compression:

Stored size: 1.56 KB

Contents

require 'spec_helper'

describe Spree::Api::StoreCreditEventsController, type: :request do
  let(:api_user) { create(:user, :with_api_key) }

  describe "GET mine" do
    subject do
      get spree.mine_api_store_credit_events_path(format: :json), headers: { 'X-Spree-Token' => api_key }
    end

    context "no current api user" do
      let(:api_key) { nil }

      before { subject }

      it "returns a 401" do
        expect(response.status).to eq 401
      end
    end

    context "the current api user is authenticated" do
      let(:current_api_user) { create(:user, :with_api_key) }
      let(:api_key) { current_api_user.spree_api_key }

      context "the user doesn't have store credit" do
        before { subject }

        it "should set the events variable to empty list" do
          expect(json_response["store_credit_events"]).to eq []
        end

        it "returns a 200" do
          expect(response.status).to eq 200
        end
      end

      context "the user has store credit" do
        let!(:store_credit) { create(:store_credit, user: current_api_user) }

        before { subject }

        it "should contain the store credit allocation event" do
          expect(json_response["store_credit_events"].size).to eq 1
          expect(json_response["store_credit_events"][0]).to include(
            "display_amount" => "$150.00",
            "display_user_total_amount" => "$150.00",
            "display_action" => "Added"
          )
        end

        it "returns a 200" do
          expect(response.status).to eq 200
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
solidus_api-2.5.2 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.5.1 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.5.0 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.5.0.rc1 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.5.0.beta2 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.5.0.beta1 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.4.2 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.4.1 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.3.1 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.4.0 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.4.0.rc1 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.4.0.beta1 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.3.0 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.3.0.rc3 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.3.0.rc2 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.3.0.rc1 spec/requests/spree/api/store_credit_events_controller_spec.rb
solidus_api-2.3.0.beta1 spec/requests/spree/api/store_credit_events_controller_spec.rb