test_assistant 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b1c5794fb9961343ed9b9c926125a1e7f4128bb
4
- data.tar.gz: 8dfad5f30319bffaac95db75a76c99228bbe3fad
3
+ metadata.gz: bfe1610c486eff9f3ad4683799bcfc91c861c7f5
4
+ data.tar.gz: 8bc9686c28979433d3e17fed24f983dc72fc104c
5
5
  SHA512:
6
- metadata.gz: 3e8db6c937c7895f188fc16c03f2fbf2344cfbd0e8621ccd42521cc380819ac259a05eac1e869e5036e9e1ec2f4ee1e57bf23ad13098ef32496abacd0adea298
7
- data.tar.gz: f841a64f96693ebc1fd9422c931c8f626531f74e38935049bfc2851a3d0de7cae8250c84f5b84be276943f883a6eb12efa102297ef16b0f3ac19dcd751072c5e
6
+ metadata.gz: ca6bb85a6d11ebda0f0d5ac40695a7dee8fd3d2863b3c2d13f5f9c2667c05ec95d09d61efe9a08d3100f847e8ee73ef355dc0e7e0b83bc861cfb04a6dea085f0
7
+ data.tar.gz: dc90720582c1a364ad13a17e4aa65e578616e71e0a6dcae9ed9d00450d9aba8bc4b1a461880872a1fbdc24c489285c5afb34d15969387f2dc503346e196db9a0
@@ -208,7 +208,7 @@ module TestAssistant::Email
208
208
  matcher[:actual].(email, parsed_emails(email))
209
209
  end
210
210
 
211
- value = value.kind_of?(String) ? "'#{value}'" : value
211
+ value = value.kind_of?(String) ? "'#{value}'" : value.map{|element| "'#{element}'"}
212
212
  memo << value
213
213
  end
214
214
 
@@ -299,11 +299,12 @@ module TestAssistant::Email
299
299
  end
300
300
 
301
301
  def email_matches?(email, assertion, expected)
302
+
302
303
  case assertion
303
304
  when :to
304
- expected.include?(email.send(assertion))
305
+ (expected & email.send(assertion)).length > 0
305
306
  when String, Symbol
306
- expected == email.send(assertion)
307
+ email.send(assertion).include?(expected)
307
308
  when Hash
308
309
  assertion[:match].(email, parsed_emails(email), expected)
309
310
  else
@@ -1,3 +1,3 @@
1
1
  module TestAssistant
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -84,26 +84,26 @@ RSpec.describe 'have_sent_email' do
84
84
 
85
85
  it "then a positive 'to' assertion passes" do
86
86
  expect {
87
- expect(subject).to have_been_sent.to(subject[0].to)
87
+ expect(subject).to have_been_sent.to(subject[0].to[0])
88
88
  }.to_not raise_error
89
89
  end
90
90
 
91
91
  it "then a negative 'to' assertion fails" do
92
92
  expect {
93
- expect(subject).to_not have_been_sent.to(subject[0].to)
94
- }.to raise_error.with_message("Expected no emails to be sent to '#{subject[0].to}'.")
93
+ expect(subject).to_not have_been_sent.to(subject[0].to[0])
94
+ }.to raise_error.with_message("Expected no emails to be sent to '#{subject[0].to[0]}'.")
95
95
  end
96
96
 
97
97
  it "then a positive 'from' assertion passes" do
98
98
  expect {
99
- expect(subject).to have_been_sent.from(subject[0].from)
99
+ expect(subject).to have_been_sent.from(subject[0].from[0])
100
100
  }.to_not raise_error
101
101
  end
102
102
 
103
103
  it "then a negative 'from' assertion fails" do
104
104
  expect {
105
- expect(subject).to_not have_been_sent.from(subject[0].from)
106
- }.to raise_error.with_message("Expected no emails to be sent from '#{subject[0].from}'.")
105
+ expect(subject).to_not have_been_sent.from(subject[0].from[0])
106
+ }.to raise_error.with_message("Expected no emails to be sent from '#{subject[0].from[0]}'.")
107
107
  end
108
108
 
109
109
  it "then a positive 'with_subject' assertion passes" do
@@ -173,7 +173,7 @@ RSpec.describe 'have_sent_email' do
173
173
  it "then a positive 'to' assertion fails" do
174
174
  expect {
175
175
  expect(subject).to have_been_sent.to('other@email.com')
176
- }.to raise_error.with_message("Expected an email to be sent to 'other@email.com'. However, 1 was sent to '#{subject[0].to}'.")
176
+ }.to raise_error.with_message("Expected an email to be sent to 'other@email.com'. However, 1 was sent to '#{subject[0].to[0]}'.")
177
177
  end
178
178
 
179
179
  it "then a negative 'to' assertion passes" do
@@ -185,7 +185,7 @@ RSpec.describe 'have_sent_email' do
185
185
  it "then a positive 'from' assertion fails" do
186
186
  expect {
187
187
  expect(subject).to have_been_sent.from('other@email.com')
188
- }.to raise_error.with_message("Expected an email to be sent from 'other@email.com'. However, 1 was sent from '#{subject[0].from}'.")
188
+ }.to raise_error.with_message("Expected an email to be sent from 'other@email.com'. However, 1 was sent from '#{subject[0].from[0]}'.")
189
189
  end
190
190
 
191
191
  it "then a negative 'from' assertion passes" do
@@ -260,14 +260,14 @@ RSpec.describe 'have_sent_email' do
260
260
 
261
261
  it "then a positive assertion matching the first email passes" do
262
262
  expect {
263
- expect(subject).to have_been_sent.to(subject[0].to)
263
+ expect(subject).to have_been_sent.to(subject[0].to[0])
264
264
  }.to_not raise_error
265
265
  end
266
266
 
267
267
  it "then a negative assertion matching the first email fails" do
268
268
  expect {
269
- expect(subject).to_not have_been_sent.to(subject[0].to)
270
- }.to raise_error.with_message("Expected no emails to be sent to '#{subject[0].to}'.")
269
+ expect(subject).to_not have_been_sent.to(subject[0].to[0])
270
+ }.to raise_error.with_message("Expected no emails to be sent to '#{subject[0].to[0]}'.")
271
271
  end
272
272
 
273
273
  it "then a positive assertion matching the second email passes" do
@@ -279,7 +279,7 @@ RSpec.describe 'have_sent_email' do
279
279
  it "then a negative assertion matching the second email fails" do
280
280
  expect {
281
281
  expect(subject).to_not have_been_sent.to(subject[1].to)
282
- }.to raise_error.with_message("Expected no emails to be sent to '#{subject[1].to}'.")
282
+ }.to raise_error.with_message("Expected no emails to be sent to '#{subject[1].to[0]}'.")
283
283
  end
284
284
 
285
285
  end
@@ -289,37 +289,37 @@ RSpec.describe 'have_sent_email' do
289
289
 
290
290
  it "then a positive assertions correctly matches a matching email" do
291
291
  expect {
292
- expect(subject).to have_been_sent.to(subject[0].to).from(subject[0].from)
292
+ expect(subject).to have_been_sent.to(subject[0].to[0]).from(subject[0].from[0])
293
293
  }.to_not raise_error
294
294
  end
295
295
 
296
296
  it "then a positive assertions don't match an email if the first qualifier isn't satisfied" do
297
297
  expect {
298
- expect(subject).to have_been_sent.to('other@email.com').from(subject[0].from)
299
- }.to raise_error.with_message("Expected an email to be sent to 'other@email.com'. However, 1 was sent to '#{subject[0].to}'.")
298
+ expect(subject).to have_been_sent.to('other@email.com').from(subject[0].from[0])
299
+ }.to raise_error.with_message("Expected an email to be sent to 'other@email.com'. However, 1 was sent to '#{subject[0].to[0]}'.")
300
300
  end
301
301
 
302
302
  it "then a positive assertions don't match an email if the last qualifier isn't satisfied" do
303
303
  expect {
304
- expect(subject).to have_been_sent.to(subject[0].to).from('other@email.com')
305
- }.to raise_error.with_message("Expected an email to be sent from 'other@email.com'. However, 1 was sent from '#{subject[0].from}'.")
304
+ expect(subject).to have_been_sent.to(subject[0].to[0]).from('other@email.com')
305
+ }.to raise_error.with_message("Expected an email to be sent from 'other@email.com'. However, 1 was sent from '#{subject[0].from[0]}'.")
306
306
  end
307
307
 
308
308
  it "then a negative assertions correctly matches a matching email" do
309
309
  expect {
310
- expect(subject).to_not have_been_sent.to(subject[0].to).from(subject[0].from)
311
- }.to raise_error.with_message("Expected no emails to be sent to '#{subject[0].to}' from '#{subject[0].from}'.")
310
+ expect(subject).to_not have_been_sent.to(subject[0].to[0]).from(subject[0].from[0])
311
+ }.to raise_error.with_message("Expected no emails to be sent to '#{subject[0].to[0]}' from '#{subject[0].from[0]}'.")
312
312
  end
313
313
 
314
314
  it "then a negative assertions don't match an email if the first qualifier isn't satisfied" do
315
315
  expect {
316
- expect(subject).to_not have_been_sent.to('other@email.com').from(subject[0].from)
316
+ expect(subject).to_not have_been_sent.to('other@email.com').from(subject[0].from[0])
317
317
  }.to_not raise_error
318
318
  end
319
319
 
320
320
  it "then a negative assertions don't match an email if the last qualifier isn't satisfied" do
321
321
  expect {
322
- expect(subject).to_not have_been_sent.to(subject[0].to).from('other@email.com')
322
+ expect(subject).to_not have_been_sent.to(subject[0].to[0]).from('other@email.com')
323
323
  }.to_not raise_error
324
324
  end
325
325
  end
@@ -1,5 +1,5 @@
1
1
  class EmailMock
2
- attr_reader :to, :from, :subject, :text, :body
2
+ attr_reader :subject, :text, :body
3
3
 
4
4
  def initialize(to: 'receiver@email.com', from: 'sender@email.com', subject: 'Subject', text: 'Test Email', body: "<body><h1>Test Email</h1><a href='www.test.com' /><img src='www.test.com' /></body>")
5
5
  @to, @from, @subject, @text, @body = to, from, subject, text, body
@@ -10,6 +10,14 @@ class EmailMock
10
10
  EmailBodyMock.new(@body)
11
11
  ]
12
12
  end
13
+
14
+ def to
15
+ [ @to ]
16
+ end
17
+
18
+ def from
19
+ [ @from ]
20
+ end
13
21
  end
14
22
 
15
23
  class EmailBodyMock
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_assistant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleck Greenham