custom_emails 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,14 +12,14 @@ class MailerTest < ActionMailer::TestCase
12
12
  ActionMailer::Base.deliveries.last
13
13
  end
14
14
 
15
- test 'email content_text is used when custom_email_to is called' do
15
+ test 'email interpolated attributes are used when custom_email_to is called' do
16
16
  kind = CustomEmails::EmailKind.create(name: :kind_1)
17
- email = CustomEmails::Email.create(kind: kind, locale: :en, subject: 'Hello world!', content_text: 'Good luck...')
18
- mail = CustomEmails::Mailer.custom_email_to('test@example.com', :kind_1)
17
+ email = CustomEmails::Email.create(kind: kind, locale: :en, subject: 'Hello {{ name }}!', content_text: 'Good luck {{ name }}...')
18
+ mail = CustomEmails::Mailer.custom_email_to('test@example.com', :kind_1, nil, context: {'name' => 'Luc'})
19
19
  mail.deliver
20
20
 
21
- assert(last_email.subject == 'Hello world!')
22
- assert(last_email.body == 'Good luck...')
21
+ assert(last_email.subject == 'Hello Luc!')
22
+ assert(last_email.body == 'Good luck Luc...')
23
23
  assert(last_email.from.include?(@sender_email))
24
24
  assert(last_email.to.include?('test@example.com'))
25
25
  end
@@ -38,5 +38,19 @@ module CustomEmails
38
38
  assert subject.kind_of?(Mail::Message)
39
39
  assert subject.deliver
40
40
  end
41
+
42
+ test "email has interpolation via liquid on subject, content_text and content_html" do
43
+ CustomEmails.default_from = 'sender@example.org'
44
+
45
+ email = Email.new
46
+ assert email.respond_to?(:interpolated_subject)
47
+ assert email.respond_to?(:interpolated_content_text)
48
+ assert email.respond_to?(:interpolated_content_html)
49
+
50
+ context = {'firstname' => 'Nicolas'}
51
+ email.subject = 'Hello {{ firstname }}!'
52
+
53
+ assert email.interpolated_subject(context) == 'Hello Nicolas!'
54
+ end
41
55
  end
42
56
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: custom_emails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
29
  version: 4.0.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: liquid
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 2.5.3
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 2.5.3
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: sqlite3
32
48
  requirement: !ruby/object:Gem::Requirement
@@ -143,7 +159,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
143
159
  version: '0'
144
160
  segments:
145
161
  - 0
146
- hash: -896741769331279035
162
+ hash: 100802680174598186
147
163
  required_rubygems_version: !ruby/object:Gem::Requirement
148
164
  none: false
149
165
  requirements:
@@ -152,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
168
  version: '0'
153
169
  segments:
154
170
  - 0
155
- hash: -896741769331279035
171
+ hash: 100802680174598186
156
172
  requirements: []
157
173
  rubyforge_project:
158
174
  rubygems_version: 1.8.23