Sha256: 1dd7a74d10f28ef3377b5da6ca18efd8efa48ce03cae8fe3591c3836360b09a3
Contents?: true
Size: 1.45 KB
Versions: 4
Compression:
Stored size: 1.45 KB
Contents
require 'helper' RSpec.describe Flipper::UI::Actions::BooleanGate do let(:token) { if Rack::Protection::AuthenticityToken.respond_to?(:random_token) Rack::Protection::AuthenticityToken.random_token else "a" end } let(:session) { if Rack::Protection::AuthenticityToken.respond_to?(:random_token) {:csrf => token} else {"_csrf_token" => token} end } describe "POST /features/:feature/boolean" do context "with enable" do before do flipper.disable :search post "features/search/boolean", {"action" => "Enable", "authenticity_token" => token}, "rack.session" => session end it "enables the feature" do expect(flipper.enabled?(:search)).to be(true) end it "redirects back to feature" do expect(last_response.status).to be(302) expect(last_response.headers["Location"]).to eq("/features/search") end end context "with disable" do before do flipper.enable :search post "features/search/boolean", {"action" => "Disable", "authenticity_token" => token}, "rack.session" => session end it "disables the feature" do expect(flipper.enabled?(:search)).to be(false) end it "redirects back to feature" do expect(last_response.status).to be(302) expect(last_response.headers["Location"]).to eq("/features/search") end end end end
Version data entries
4 entries across 4 versions & 1 rubygems