Skip to content

Commit e5325d6

Browse files
committed
Show relative difference of numbers of queries
1 parent b3a5f26 commit e5325d6

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

lib/rspec/sql.rb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ module Sql; end
2929
Expected database queries: #{expected}
3030
Actual database queries: #{matcher.actual}
3131
32-
Diff: #{Expectations.differ.diff_as_object(matcher.actual, expected)}
32+
Diff: #{diff(matcher.actual, expected)}
3333
3434
Full query log:
3535
@@ -57,6 +57,15 @@ def matcher
5757
@matcher
5858
end
5959

60+
def diff(actual, expected)
61+
if expected.is_a?(Numeric)
62+
change = actual - expected
63+
format("%+d", change)
64+
else
65+
Expectations.differ.diff_as_object(actual, expected)
66+
end
67+
end
68+
6069
def scribe_queries(&)
6170
queries = []
6271

spec/lib/rspec/sql_spec.rb

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,16 +84,12 @@
8484
end
8585

8686
it "prints user-friendly message expecting a number" do
87-
message = error_message { expect { User.last }.to query_database 2 }
87+
message = error_message { expect { User.last }.to query_database 0 }
8888
expect(message).to eq <<~TXT
89-
Expected database queries: 2
89+
Expected database queries: 0
9090
Actual database queries: 1
9191
92-
Diff:
93-
@@ -1 +1 @@
94-
-2
95-
+1
96-
92+
Diff: +1
9793
9894
Full query log:
9995
@@ -107,11 +103,7 @@
107103
Expected database queries: 2
108104
Actual database queries: 1
109105
110-
Diff:
111-
@@ -1 +1 @@
112-
-2
113-
+1
114-
106+
Diff: -1
115107
116108
Full query log:
117109

0 commit comments

Comments
 (0)