blob: fc1e0e876cb0cd92730d76a96623aae00376e14e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
module AuditMatchers
extend RSpec::Matchers::DSL
matcher :pass do
match do |audit|
!audit.errors? && !audit.warnings?
end
end
matcher :fail do
match(&:errors?)
end
matcher :warn do
match do |audit|
audit.warnings? && !audit.errors?
end
end
matcher :fail_with do |error_msg|
match do |audit|
include_msg?(audit.errors, error_msg)
end
end
matcher :warn_with do |warning_msg|
match do |audit|
include_msg?(audit.warnings, warning_msg)
end
end
def include_msg?(messages, msg)
if msg.is_a?(Regexp)
Array(messages).any? { |m| m =~ msg }
else
Array(messages).include?(msg)
end
end
end
|