payola-payments 1.0.8 → 1.1.0
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 +8 -8
- data/app/assets/javascripts/payola/checkout_button.js +21 -12
- data/app/controllers/payola/transactions_controller.rb +1 -1
- data/app/mailers/payola/admin_mailer.rb +35 -0
- data/app/mailers/payola/receipt_mailer.rb +47 -0
- data/app/models/payola/sale.rb +10 -2
- data/app/services/payola/create_sale.rb +1 -1
- data/app/services/payola/process_sale.rb +7 -0
- data/app/services/payola/send_mail.rb +7 -0
- data/app/views/payola/admin_mailer/dispute.html.erb +10 -0
- data/app/views/payola/admin_mailer/failure.html.erb +11 -0
- data/app/views/payola/admin_mailer/receipt.html.erb +10 -0
- data/app/views/payola/admin_mailer/refund.html.erb +10 -0
- data/app/views/payola/receipt_mailer/receipt.html.erb +4 -0
- data/app/views/payola/receipt_mailer/receipt.text.erb +7 -0
- data/app/views/payola/receipt_mailer/receipt_pdf.html.erb +83 -0
- data/app/views/payola/receipt_mailer/refund.html.erb +8 -0
- data/app/views/payola/transactions/_checkout.html.erb +31 -23
- data/db/migrate/20141029135848_add_owner_to_payola_sale.rb +8 -0
- data/lib/generators/payola/install_generator.rb +1 -1
- data/lib/payola.rb +33 -5
- data/lib/payola/version.rb +1 -1
- data/lib/payola/worker/active_job.rb +4 -4
- data/lib/payola/worker/base.rb +2 -2
- data/lib/payola/worker/sidekiq.rb +2 -2
- data/lib/payola/worker/sucker_punch.rb +2 -2
- data/spec/dummy/app/models/owner.rb +2 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20141029140518_create_owners.rb +8 -0
- data/spec/dummy/db/schema.rb +9 -1
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +1946 -0
- data/spec/dummy/log/test.log +10516 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0e585aeb88c1555ae8f5292f7c7a9068 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5afa4bc970e0bc781b3500c696ba25ff +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/664efeb51d1b486dcfc30d142db56f3c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/68a3bbdc64a0729b5896fa1e33fce4b1 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b83da90cb58011313e13a97a4a41cb6e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c0b954b40f2881a6d286061bc069643e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d9856638a3c7b9cfd9d1b884e3b33982 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ef82c31948061751bb026663b54484e1 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f0b5d4bea0c6cdd1904e1e9a0a45532f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/models/payola/sale_spec.rb +16 -0
- data/spec/payola_spec.rb +32 -0
- data/spec/worker_spec.rb +8 -6
- metadata +19 -2
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -51,6 +51,7 @@ module Payola
|
|
51
51
|
it "should instrument finish" do
|
52
52
|
sale = create(:sale, state: 'processing')
|
53
53
|
Payola.should_receive(:instrument).with('payola.product.sale.finished', sale)
|
54
|
+
Payola.should_receive(:instrument).with('payola.sale.finished', sale)
|
54
55
|
|
55
56
|
sale.finish!
|
56
57
|
end
|
@@ -60,6 +61,7 @@ module Payola
|
|
60
61
|
it "should instrument fail" do
|
61
62
|
sale = create(:sale, state: 'processing')
|
62
63
|
Payola.should_receive(:instrument).with('payola.product.sale.failed', sale)
|
64
|
+
Payola.should_receive(:instrument).with('payola.sale.failed', sale)
|
63
65
|
|
64
66
|
sale.fail!
|
65
67
|
end
|
@@ -69,6 +71,7 @@ module Payola
|
|
69
71
|
it "should instrument refund" do
|
70
72
|
sale = create(:sale, state: 'finished')
|
71
73
|
Payola.should_receive(:instrument).with('payola.product.sale.refunded', sale)
|
74
|
+
Payola.should_receive(:instrument).with('payola.sale.refunded', sale)
|
72
75
|
sale.refund!
|
73
76
|
end
|
74
77
|
end
|
@@ -82,5 +85,18 @@ module Payola
|
|
82
85
|
expect(sale.custom_fields["field"]).to eq "value"
|
83
86
|
end
|
84
87
|
end
|
88
|
+
|
89
|
+
describe "#owner" do
|
90
|
+
it "should store and recall owner" do
|
91
|
+
sale = create(:sale)
|
92
|
+
owner = Owner.create
|
93
|
+
|
94
|
+
sale.owner = owner
|
95
|
+
sale.save!
|
96
|
+
|
97
|
+
expect(sale.owner_id).to eq owner.id
|
98
|
+
expect(sale.owner_type).to eq 'Owner'
|
99
|
+
end
|
100
|
+
end
|
85
101
|
end
|
86
102
|
end
|
data/spec/payola_spec.rb
CHANGED
@@ -84,6 +84,38 @@ module Payola
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
+
describe "#send_mail" do
|
88
|
+
before do
|
89
|
+
Payola.reset!
|
90
|
+
|
91
|
+
class FakeWorker; end
|
92
|
+
Payola::Worker.registry ||= {}
|
93
|
+
Payola::Worker.registry[:fake] = FakeWorker
|
94
|
+
Payola.background_worker = :fake
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should queue the SendMail service" do
|
98
|
+
class FakeMailer < ActionMailer::Base
|
99
|
+
def receipt(first, second)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
FakeWorker.should_receive(:call).with(Payola::SendMail, FakeMailer, :receipt, 1, 2)
|
104
|
+
Payola.send_mail(FakeMailer, :receipt, 1, 2)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
describe '#auto_emails' do
|
109
|
+
before do
|
110
|
+
Payola.reset!
|
111
|
+
end
|
112
|
+
|
113
|
+
it "should set up listeners for auto emails" do
|
114
|
+
Payola.should_receive(:subscribe).with('payola.sale.finished').at_least(2)
|
115
|
+
Payola.send_email_for :receipt, :admin_receipt
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
87
119
|
describe "#secret_key_retriever" do
|
88
120
|
it "should get called" do
|
89
121
|
Payola.secret_key_retriever = lambda { |sale| 'foo' }
|
data/spec/worker_spec.rb
CHANGED
@@ -2,6 +2,12 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
module Payola
|
4
4
|
|
5
|
+
class TestService
|
6
|
+
def self.call(thing)
|
7
|
+
thing.guid
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
5
11
|
describe Worker::Sidekiq do
|
6
12
|
before do
|
7
13
|
module ::Sidekiq
|
@@ -21,9 +27,7 @@ module Payola
|
|
21
27
|
describe "#call" do
|
22
28
|
it "should call perform_async" do
|
23
29
|
Payola::Worker::Sidekiq.should_receive(:perform_async)
|
24
|
-
|
25
|
-
sale.should_receive(:guid).and_return('blah')
|
26
|
-
Payola::Worker::Sidekiq.call(sale)
|
30
|
+
Payola::Worker::Sidekiq.call(Payola::TestService, double)
|
27
31
|
end
|
28
32
|
end
|
29
33
|
end
|
@@ -44,9 +48,7 @@ module Payola
|
|
44
48
|
describe "#call" do
|
45
49
|
it "should call perform_later" do
|
46
50
|
Payola::Worker::ActiveJob.should_receive(:perform_later)
|
47
|
-
|
48
|
-
sale.should_receive(:guid).and_return('blah')
|
49
|
-
Payola::Worker::ActiveJob.call(sale)
|
51
|
+
Payola::Worker::ActiveJob.call(Payola::TestService, double)
|
50
52
|
end
|
51
53
|
end
|
52
54
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: payola-payments
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pete Keen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -167,6 +167,8 @@ files:
|
|
167
167
|
- app/controllers/payola/transactions_controller.rb
|
168
168
|
- app/helpers/payola/application_helper.rb
|
169
169
|
- app/helpers/payola/price_helper.rb
|
170
|
+
- app/mailers/payola/admin_mailer.rb
|
171
|
+
- app/mailers/payola/receipt_mailer.rb
|
170
172
|
- app/models/concerns/payola/sellable.rb
|
171
173
|
- app/models/payola/affiliate.rb
|
172
174
|
- app/models/payola/coupon.rb
|
@@ -174,7 +176,17 @@ files:
|
|
174
176
|
- app/models/payola/stripe_webhook.rb
|
175
177
|
- app/services/payola/charge_card.rb
|
176
178
|
- app/services/payola/create_sale.rb
|
179
|
+
- app/services/payola/process_sale.rb
|
180
|
+
- app/services/payola/send_mail.rb
|
177
181
|
- app/views/layouts/payola/application.html.erb
|
182
|
+
- app/views/payola/admin_mailer/dispute.html.erb
|
183
|
+
- app/views/payola/admin_mailer/failure.html.erb
|
184
|
+
- app/views/payola/admin_mailer/receipt.html.erb
|
185
|
+
- app/views/payola/admin_mailer/refund.html.erb
|
186
|
+
- app/views/payola/receipt_mailer/receipt.html.erb
|
187
|
+
- app/views/payola/receipt_mailer/receipt.text.erb
|
188
|
+
- app/views/payola/receipt_mailer/receipt_pdf.html.erb
|
189
|
+
- app/views/payola/receipt_mailer/refund.html.erb
|
178
190
|
- app/views/payola/transactions/_checkout.html.erb
|
179
191
|
- app/views/payola/transactions/_form.html.erb
|
180
192
|
- app/views/payola/transactions/_stripe_header.html.erb
|
@@ -191,6 +203,7 @@ files:
|
|
191
203
|
- db/migrate/20141017233304_add_currency_to_payola_sale.rb
|
192
204
|
- db/migrate/20141026101628_add_custom_fields_to_payola_sale.rb
|
193
205
|
- db/migrate/20141026144800_rename_custom_fields_to_signed_custom_fields_on_payola_sale.rb
|
206
|
+
- db/migrate/20141029135848_add_owner_to_payola_sale.rb
|
194
207
|
- lib/generators/payola/install_generator.rb
|
195
208
|
- lib/generators/payola/templates/initializer.rb
|
196
209
|
- lib/payola-payments.rb
|
@@ -215,6 +228,7 @@ files:
|
|
215
228
|
- spec/dummy/app/controllers/buy_controller.rb
|
216
229
|
- spec/dummy/app/helpers/application_helper.rb
|
217
230
|
- spec/dummy/app/helpers/buy_helper.rb
|
231
|
+
- spec/dummy/app/models/owner.rb
|
218
232
|
- spec/dummy/app/models/product.rb
|
219
233
|
- spec/dummy/app/views/buy/index.html.erb
|
220
234
|
- spec/dummy/app/views/layouts/application.html.erb
|
@@ -244,6 +258,7 @@ files:
|
|
244
258
|
- spec/dummy/config/secrets.yml
|
245
259
|
- spec/dummy/db/development.sqlite3
|
246
260
|
- spec/dummy/db/migrate/20141001230848_create_products.rb
|
261
|
+
- spec/dummy/db/migrate/20141029140518_create_owners.rb
|
247
262
|
- spec/dummy/db/schema.rb
|
248
263
|
- spec/dummy/db/test.sqlite3
|
249
264
|
- spec/dummy/log/development.log
|
@@ -328,6 +343,7 @@ test_files:
|
|
328
343
|
- spec/dummy/app/controllers/buy_controller.rb
|
329
344
|
- spec/dummy/app/helpers/application_helper.rb
|
330
345
|
- spec/dummy/app/helpers/buy_helper.rb
|
346
|
+
- spec/dummy/app/models/owner.rb
|
331
347
|
- spec/dummy/app/models/product.rb
|
332
348
|
- spec/dummy/app/views/buy/index.html.erb
|
333
349
|
- spec/dummy/app/views/layouts/application.html.erb
|
@@ -357,6 +373,7 @@ test_files:
|
|
357
373
|
- spec/dummy/config.ru
|
358
374
|
- spec/dummy/db/development.sqlite3
|
359
375
|
- spec/dummy/db/migrate/20141001230848_create_products.rb
|
376
|
+
- spec/dummy/db/migrate/20141029140518_create_owners.rb
|
360
377
|
- spec/dummy/db/schema.rb
|
361
378
|
- spec/dummy/db/test.sqlite3
|
362
379
|
- spec/dummy/log/development.log
|