Welcome to mirror list, hosted at ThFree Co, Russian Federation.

route_to_route_not_found_matcher.rb « matchers « support « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4105f0f9191c3e1a92539571845b9b0c2734253b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# frozen_string_literal: true

RSpec::Matchers.define :route_to_route_not_found do
  match do |actual|
    expect(actual).to route_to(controller: 'application', action: 'route_not_found')
  rescue RSpec::Expectations::ExpectationNotMetError => e
    # `route_to` matcher requires providing all params for exact match. As we use it in shared examples and we provide different paths,
    # this matcher checks if provided route matches controller and action, without checking params.
    expect(e.message).to include("-{\"controller\"=>\"application\", \"action\"=>\"route_not_found\"}\n+{\"controller\"=>\"application\", \"action\"=>\"route_not_found\",")
  end

  failure_message do |_|
    "expected #{actual} to route to route_not_found"
  end
end