bmabey-email_spec 0.3.2 → 0.3.3

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.
data/History.txt CHANGED
@@ -3,6 +3,11 @@
3
3
  === New features
4
4
  === Bufixes
5
5
 
6
+ == 0.3.3 2009-09-18
7
+
8
+ === New features
9
+ * DeliverFrom matcher. i.e. email.should deliver_from(blah) or email.should be_delivered_from(blah) (Diego Carrion)
10
+
6
11
  == 0.3.2 2009-09-10
7
12
 
8
13
  === New features
@@ -37,6 +37,37 @@ module EmailSpec
37
37
 
38
38
  alias :be_delivered_to :deliver_to
39
39
 
40
+ class DeliverFrom
41
+
42
+ def initialize(email)
43
+ @expected_email_addresses = email
44
+ end
45
+
46
+ def description
47
+ "be delivered from #{@expected_email_addresses.inspect}"
48
+ end
49
+
50
+ def matches?(email)
51
+ @email = email
52
+ @actual_sender = (email.from || []).first
53
+ @actual_sender.eql? @expected_email_addresses
54
+ end
55
+
56
+ def failure_message
57
+ "expected #{@email.inspect} to deliver from #{@expected_email_addresses.inspect}, but it delievered from #{@actual_recipients.inspect}"
58
+ end
59
+
60
+ def negative_failure_message
61
+ "expected #{@email.inspect} not to deliver from #{@expected_email_addresses.inspect}, but it did"
62
+ end
63
+ end
64
+
65
+ def deliver_from(email)
66
+ DeliverFrom.new(email)
67
+ end
68
+
69
+ alias :be_delivered_from :deliver_from
70
+
40
71
  class BccTo
41
72
 
42
73
  def initialize(expected_email_addresses_or_objects_that_respond_to_email)
@@ -45,7 +45,6 @@ describe EmailSpec::Matchers do
45
45
  end
46
46
 
47
47
  describe "#deliver_to" do
48
-
49
48
  it "should match when the email is set to deliver to the specidied address" do
50
49
  email = mock_email(:to => "jimmy_bean@yahoo.com")
51
50
 
@@ -74,6 +73,18 @@ describe EmailSpec::Matchers do
74
73
 
75
74
  end
76
75
 
76
+ describe "#deliver_from" do
77
+ it "should match when the email is set to deliver from the specidied address" do
78
+ email = mock_email(:from => ["jimmy_bean@yahoo.com"])
79
+ deliver_from("jimmy_bean@yahoo.com").should match(email)
80
+ end
81
+
82
+ it "should not match when the email is not set to deliver from the specified address" do
83
+ email = mock_email(:from => nil)
84
+ deliver_from("jimmy_bean@yahoo.com").should_not match(email)
85
+ end
86
+ end
87
+
77
88
  describe "#bcc_to" do
78
89
 
79
90
  it "should match when the email is set to deliver to the specidied address" do
@@ -182,7 +193,7 @@ describe EmailSpec::Matchers do
182
193
  describe "#have_body_text" do
183
194
  it "should have specs!"
184
195
  end
185
-
196
+
186
197
  describe "#have_header" do
187
198
  it "should have specs!"
188
199
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bmabey-email_spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Mabey
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2009-09-10 00:00:00 -07:00
14
+ date: 2009-09-18 00:00:00 -07:00
15
15
  default_executable:
16
16
  dependencies: []
17
17