delivery_uncle 0.1.2 → 0.1.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.
@@ -1 +1 @@
1
- 43671
1
+ 53616
@@ -25,7 +25,7 @@ describe DeliveryUncle::Deliver do
25
25
  expect(delivery.request.mailer.to_s).to eql('TestMailer')
26
26
  expect(delivery.request.mailer_method.to_s).to eql('test_email_method')
27
27
  expect(delivery.request.mail.subject).to eql('test_email')
28
- expect(delivery.request.status).to eql(:queued)
28
+ expect(delivery.request.status).to eql(:enqueue)
29
29
 
30
30
  DeliveryUncle::SendEmailRequest.should have_queued(delivery.request.id)
31
31
  end
@@ -44,7 +44,7 @@ describe DeliveryUncle::EmailQueue do
44
44
  it 'should queue to background' do
45
45
  DeliveryUncle::EmailQueue.queue(email_request)
46
46
  expect(DeliveryUncle::SendEmailRequest).to have_queued(email_request.id)
47
- expect(email_request.status).to eql(:queued)
47
+ expect(email_request.status).to eql(:enqueue)
48
48
  end
49
49
  end
50
50
 
@@ -54,7 +54,7 @@ describe DeliveryUncle::EmailQueue do
54
54
 
55
55
  DeliveryUncle::EmailQueue.retry(email_request)
56
56
  expect(DeliveryUncle::SendEmailRequest).to have_queued(email_request.id)
57
- expect(email_request.status).to eql(:queued)
57
+ expect(email_request.status).to eql(:enqueue)
58
58
  end
59
59
  end
60
60
  end
data/spec/spec_helper.rb CHANGED
@@ -3,6 +3,8 @@ require File.expand_path("../dummy/config/environment.rb", __FILE__)
3
3
  require 'rspec/rails'
4
4
  require 'rspec/autorun'
5
5
  require 'resque_spec'
6
+ require "email_spec"
7
+
6
8
  Rails.backtrace_cleaner.remove_silencers!
7
9
  # Load support files
8
10
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
@@ -12,7 +14,9 @@ RSpec.configure do |config|
12
14
  config.infer_base_class_for_anonymous_controllers = false
13
15
  config.use_transactional_fixtures = true
14
16
  config.order = "random"
15
-
17
+ config.include(EmailSpec::Helpers)
18
+ config.include(EmailSpec::Matchers)
19
+
16
20
  REDIS_PID = "#{Rails.root}/tmp/pids/redis-test.pid"
17
21
  REDIS_CACHE_PATH = "#{Rails.root}/tmp/cache/"
18
22
 
@@ -0,0 +1,52 @@
1
+ require 'spec_helper'
2
+
3
+ describe DeliveryUncle::SendEmailRequest do
4
+
5
+ context '.perform' do
6
+
7
+ context 'when request_id not found' do
8
+ it 'should raise error when request not found' do
9
+ expect do
10
+ DeliveryUncle::SendEmailRequest.perform(999)
11
+ end.to raise_error
12
+ end
13
+ end
14
+
15
+ context 'when request_id is found' do
16
+ before :each do
17
+ klass = Class.new(ActionMailer::Base)
18
+ Object.const_set('TestMailer', klass)
19
+ TestMailer.class_eval do
20
+ default from: 'test@deliveryuncle.localhost'
21
+
22
+ def test_email_method(subject)
23
+ mail(subject: subject, to: 'recepient@deliveryuncle.localhost')
24
+ end
25
+ end
26
+ end
27
+
28
+ after :each do
29
+ Object.send :remove_const, :TestMailer
30
+ end
31
+
32
+ let(:email_request) do
33
+ request = DeliveryUncle::EmailRequest.new
34
+ request.mailer = 'TestMailer'
35
+ request.mailer = 'test_email_method'
36
+ request.mail_body = TestMailer.test_email_method('hello test').to_s
37
+ request.status = 'new'
38
+ request.save
39
+ request
40
+ end
41
+
42
+ it 'should send the email' do
43
+ expect(email_request.status).to eql('new')
44
+ DeliveryUncle::SendEmailRequest.perform(email_request.id)
45
+ expect(email_request.mail).to deliver_to('recepient@deliveryuncle.localhost')
46
+ expect(email_request.reload.status).to eql('sent')
47
+ end
48
+ end
49
+
50
+ end
51
+
52
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delivery_uncle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alvin S.J. Ng
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2.14'
69
+ - !ruby/object:Gem::Dependency
70
+ name: email_spec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.6'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.6'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: resque_spec
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -165,6 +179,7 @@ files:
165
179
  - spec/services/delivery_uncle/email_queue_spec.rb
166
180
  - spec/services/delivery_uncle/paginate_spec.rb
167
181
  - spec/spec_helper.rb
182
+ - spec/workers/delivery_uncle/send_email_request_spec.rb
168
183
  homepage: http://github.com/alvinsj/delivery_uncle
169
184
  licenses:
170
185
  - MIT
@@ -243,3 +258,4 @@ test_files:
243
258
  - spec/services/delivery_uncle/email_queue_spec.rb
244
259
  - spec/services/delivery_uncle/paginate_spec.rb
245
260
  - spec/spec_helper.rb
261
+ - spec/workers/delivery_uncle/send_email_request_spec.rb