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.
- checksums.yaml +4 -4
- data/app/models/delivery_uncle/email_request.rb +5 -1
- data/app/services/delivery_uncle/email_queue.rb +11 -13
- data/app/workers/delivery_uncle/send_email_request.rb +5 -11
- data/lib/delivery_uncle/version.rb +1 -1
- data/spec/dummy/log/test.log +50001 -0
- data/spec/dummy/tmp/pids/redis-test.pid +1 -1
- data/spec/services/delivery_uncle/deliver_spec.rb +1 -1
- data/spec/services/delivery_uncle/email_queue_spec.rb +2 -2
- data/spec/spec_helper.rb +5 -1
- data/spec/workers/delivery_uncle/send_email_request_spec.rb +52 -0
- metadata +17 -1
@@ -1 +1 @@
|
|
1
|
-
|
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(:
|
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(:
|
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(:
|
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.
|
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
|