Sha256: d155962ba297360f4585aa07048c4a01e46805bb70ca66b0231ad9fbd7579131

Contents?: true

Size: 1.23 KB

Versions: 5

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

require "decidim/verifications/workflows"

module Decidim
  module Verifications
    module DummyVerification
      # Dummy engine to be able to test verifications.
      class Engine < ::Rails::Engine
        isolate_namespace Decidim::Verifications::DummyVerification

        routes do
          root to: proc { [200, {}, ["DUMMY VERIFICATION ENGINE"]] }
          get :edit_authorization, to: proc { [200, {}, ["CONTINUE YOUR VERIFICATION"]] }
        end
      end
    end
  end
end

Decidim::Verifications.register_workflow(:dummy_authorization_workflow) do |workflow|
  workflow.engine = Decidim::Verifications::DummyVerification::Engine
end

RSpec.configure do |config|
  config.around(:example, :with_authorization_workflows) do |example|
    begin
      previous_workflows = Decidim::Verifications.workflows.dup

      new_workflows = example.metadata[:with_authorization_workflows].map do |name|
        Decidim::Verifications.find_workflow_manifest(name)
      end

      Decidim::Verifications.reset_workflows(*new_workflows)
      Rails.application.reload_routes!

      example.run
    ensure
      Decidim::Verifications.reset_workflows(*previous_workflows)
      Rails.application.reload_routes!
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
decidim-dev-0.8.4 lib/decidim/dev/test/rspec_support/authorization.rb
decidim-dev-0.8.3 lib/decidim/dev/test/rspec_support/authorization.rb
decidim-dev-0.8.2 lib/decidim/dev/test/rspec_support/authorization.rb
decidim-dev-0.8.1 lib/decidim/dev/test/rspec_support/authorization.rb
decidim-dev-0.8.0 lib/decidim/dev/test/rspec_support/authorization.rb