Sha256: b6440dd84790cfc2544a16933d98ba262776e4683ff0147a593809c92864c378

Contents?: true

Size: 1.05 KB

Versions: 3

Compression:

Stored size: 1.05 KB

Contents

require 'helper'

RSpec.describe Flipper::Api::V1::Actions::BooleanGate do
  let(:app) { build_api(flipper) }

  describe 'enable' do
    before do
      flipper[:my_feature].disable
      post '/api/v1/features/my_feature/boolean'
    end

    it 'enables feature' do
      expect(last_response.status).to eq(200)
      expect(flipper[:my_feature].on?).to be_truthy
    end

    it 'returns decorated feature with boolean gate enabled' do
      boolean_gate = json_response['gates'].find { |gate| gate['key'] == 'boolean' }
      expect(boolean_gate['value']).to be_truthy
    end
  end

  describe 'disable' do
    before do
      flipper[:my_feature].enable
      delete '/api/v1/features/my_feature/boolean'
    end

    it 'disables feature' do
      expect(last_response.status).to eq(200)
      expect(flipper[:my_feature].off?).to be_truthy
    end

    it 'returns decorated feature with boolean gate disabled' do
      boolean_gate = json_response['gates'].find { |gate| gate['key'] == 'boolean' }
      expect(boolean_gate['value']).to be_falsy
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
flipper-api-0.10.2 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.10.1 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.10.0 spec/flipper/api/v1/actions/boolean_gate_spec.rb