blackbriar 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8e6e1fc9b1469380f0a2e8059924d6633f5cc44
4
- data.tar.gz: 96d22024d0c5e310688cb21e4c6c885e45276a27
3
+ metadata.gz: 7365bf06ad8930316900235ff8358b91695bc010
4
+ data.tar.gz: eb4b9a3689a3987cd2992df1b6357c179ea2ff4c
5
5
  SHA512:
6
- metadata.gz: 6ee432c1a1f5de9ab1e545d2bdcbaada1cf89aa2f303b77a2c51f20195937a3c2574a026fdc37bdeff48ac87e158c185fd113154f0512e5007947d70eda27084
7
- data.tar.gz: 18acf59a34593818b492ced1dd9db94a9ab7b19460cf710d2d99988d3f205d0ccdf47b95a41d1441a6558bccaa475047217509a05e71e547e885051959514aa3
6
+ metadata.gz: dc64b13e4300e7e83d0b0cb4e8ae7f16e245620c6d8cd2b9ed460f4929d3eae6c2bd7cf96e33892e1648e156fc39c5ef9a6cd983620e275a6030c0f51c4e3d8c
7
+ data.tar.gz: 5a378970d9a5a3836f23c5ab069af0d3675de3476921c85d73b60e31092c926260b0d4254d19fb6407bab20f3c39b74ad313ff5054a899d48b354ebc3c1c2c85
@@ -48,7 +48,7 @@ RSpec::Matchers.define :match_json_schema do |schema|
48
48
  # Parse and expand the schema definition
49
49
  @schema = JsonSchema.parse!(YAML.load(File.read(schema_path)))
50
50
  elsif schema.kind_of? Hash
51
- @schema = JsonSchema.parse!(schema)
51
+ @schema = JsonSchema.parse!(schema.deep_stringify_keys)
52
52
  end
53
53
 
54
54
  @schema.expand_references!
@@ -67,9 +67,42 @@ RSpec::Matchers.define :match_json_schema do |schema|
67
67
  end
68
68
 
69
69
  failure_message do
70
- binding.pry
71
70
  @errors
72
71
  end
73
72
  end
74
73
 
75
74
  RSpec::Matchers.define_negated_matcher :not_match_json_schema, :match_json_schema
75
+
76
+ RSpec::Matchers.define :have_errors_at do |map|
77
+ error_schema = {
78
+ type: "object",
79
+ properties: {
80
+ errors: {
81
+ type: "array"
82
+ }
83
+ },
84
+ required: ["errors"]
85
+ }
86
+
87
+ define_method :matches? do |actual|
88
+ value = Blackbriar::ValueProvider.new(actual).resolve(map)
89
+ expect(value).to match_json_schema error_schema
90
+ end
91
+ end
92
+
93
+ RSpec::Matchers.define :not_have_errors_at do |map|
94
+ error_schema = {
95
+ type: "object",
96
+ properties: {
97
+ errors: {
98
+ type: "array"
99
+ }
100
+ },
101
+ required: ["errors"]
102
+ }
103
+
104
+ define_method :matches? do |actual|
105
+ value = Blackbriar::ValueProvider.new(actual).resolve(map)
106
+ expect(value).to not_match_json_schema error_schema
107
+ end
108
+ end
@@ -1,3 +1,3 @@
1
1
  module Blackbriar
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blackbriar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyrone Wilson