rspec-sql 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rspec/sql/query_summary.rb +2 -1
- data/lib/rspec/sql.rb +15 -4
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5bcabc5d90f3ad9fbdecc557c3604203ae859cf4725664a18819d1290ced63e2
|
4
|
+
data.tar.gz: '09e1ba8a94a2e92355414104384bc7de76e7aa42bdf1c2f0bc5311c29ecc66a8'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff5a4cdf9a0c27921a32ca65da0c682b6412652cf78b6d155309e6e97b7cb13702086f183d1d6ed88f2083e57fc99e6b5e4c799867b5e5a1f659363ecbda1df5
|
7
|
+
data.tar.gz: 3af870e827e52cfc8e1a548d9ff456c26521291de6bd4fb093172537f4f46ca551b84bdd2dc3306b0b665eecb1f838ff9687b2f699d9acf12b9fbe42352cfa63
|
data/lib/rspec/sql.rb
CHANGED
@@ -5,10 +5,13 @@ require "rspec"
|
|
5
5
|
|
6
6
|
require_relative "sql/query_summary"
|
7
7
|
|
8
|
+
# We are building within the RSpec namespace for consistency and convenience.
|
9
|
+
# We are not part of the RSpec team though.
|
8
10
|
module RSpec
|
11
|
+
# RSpec::Sql contains our code.
|
9
12
|
module Sql; end
|
10
13
|
|
11
|
-
|
14
|
+
Matchers.define :query_database do |expected = nil|
|
12
15
|
match do |block|
|
13
16
|
@queries = scribe_queries(&block)
|
14
17
|
|
@@ -28,6 +31,10 @@ module RSpec
|
|
28
31
|
end
|
29
32
|
|
30
33
|
failure_message do |_block|
|
34
|
+
if expected.is_a?(Enumerator) && expected.inspect.match?(/:times>$/)
|
35
|
+
expected = expected.size
|
36
|
+
end
|
37
|
+
|
31
38
|
<<~MESSAGE
|
32
39
|
Expected database queries: #{expected}
|
33
40
|
Actual database queries: #{query_names}
|
@@ -41,7 +48,11 @@ module RSpec
|
|
41
48
|
end
|
42
49
|
|
43
50
|
failure_message_when_negated do |_block|
|
44
|
-
|
51
|
+
<<~TXT
|
52
|
+
Expected no database queries but observed:
|
53
|
+
|
54
|
+
#{query_descriptions.join("\n")}
|
55
|
+
TXT
|
45
56
|
end
|
46
57
|
|
47
58
|
def supports_block_expectations?
|
@@ -63,9 +74,9 @@ module RSpec
|
|
63
74
|
def scribe_queries(&)
|
64
75
|
queries = []
|
65
76
|
|
66
|
-
logger =
|
77
|
+
logger = lambda do |_name, _started, _finished, _unique_id, payload|
|
67
78
|
queries << payload unless %w[CACHE SCHEMA].include?(payload[:name])
|
68
|
-
|
79
|
+
end
|
69
80
|
|
70
81
|
ActiveSupport::Notifications.subscribed(logger, "sql.active_record", &)
|
71
82
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-sql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maikel Linke
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-
|
12
|
+
date: 2024-04-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -50,7 +50,10 @@ files:
|
|
50
50
|
homepage: https://github.com/openfoodfoundation/rspec-sql
|
51
51
|
licenses:
|
52
52
|
- AGPL-3.0-or-later
|
53
|
-
metadata:
|
53
|
+
metadata:
|
54
|
+
changelog_uri: https://github.com/datafoodconsortium/connector-ruby/blob/main/CHANGELOG.md
|
55
|
+
source_code_uri: https://github.com/datafoodconsortium/connector-ruby/
|
56
|
+
rubygems_mfa_required: 'true'
|
54
57
|
post_install_message:
|
55
58
|
rdoc_options: []
|
56
59
|
require_paths:
|