Sha256: 6a2cb7c60494d59478cb2d7edebf10b96c8cc148a27fbf7a02c6c2077edf4727

Contents?: true

Size: 1.52 KB

Versions: 22

Compression:

Stored size: 1.52 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 '/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 'enable feature with slash in name' do
    before do
      flipper["my/feature"].disable
      post '/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 '/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

22 entries across 22 versions & 1 rubygems

Version Path
flipper-api-0.22.2 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.22.1 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.22.0 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.21.0 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.21.0.rc2 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.21.0.rc1 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.20.4 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.20.3 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.20.2 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.20.1 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.20.0 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.20.0.beta3 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.20.0.beta2 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.20.0.beta1 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.19.1 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.19.0 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.18.0 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.17.2 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.17.1 spec/flipper/api/v1/actions/boolean_gate_spec.rb
flipper-api-0.16.2 spec/flipper/api/v1/actions/boolean_gate_spec.rb