mirror of
https://github.com/thoughtbot/shoulda-matchers.git
synced 2022-11-09 12:01:38 -05:00
d86fe2d1c0
When running unit tests we need to ensure that we are simulating how other people will use the matchers as best we can. This means, for instance, tagging any example groups that test controller matchers as controller example groups.
30 lines
1 KiB
Ruby
30 lines
1 KiB
Ruby
require 'unit_spec_helper'
|
|
|
|
describe Shoulda::Matchers::ActionController::RouteParams, type: :controller do
|
|
describe "#normalize" do
|
|
context "when the route parameters is a hash" do
|
|
it "stringifies the values in the hash" do
|
|
expect(build_route_params(controller: :examples, action: 'example', id: '1').normalize).
|
|
to eq({ controller: "examples", action: "example", id: "1" })
|
|
end
|
|
end
|
|
|
|
context "when the route parameters is a string and a hash" do
|
|
it "produces a hash of route parameters" do
|
|
expect(build_route_params("examples#example", id: '1').normalize).
|
|
to eq({ controller: "examples", action: "example", id: "1" })
|
|
end
|
|
end
|
|
|
|
context "when the route params is a string" do
|
|
it "produces a hash of route params" do
|
|
expect(build_route_params("examples#index").normalize).
|
|
to eq({ controller: "examples", action: "index"})
|
|
end
|
|
end
|
|
end
|
|
|
|
def build_route_params(*params)
|
|
Shoulda::Matchers::ActionController::RouteParams.new(params)
|
|
end
|
|
end
|