solidus_afterpay 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -0
  3. data/Gemfile +6 -3
  4. data/README.md +3 -0
  5. data/app/controllers/solidus_afterpay/callbacks_controller.rb +5 -1
  6. data/app/controllers/solidus_afterpay/express_callbacks_controller.rb +5 -1
  7. data/app/models/solidus_afterpay/order_component_builder.rb +1 -1
  8. data/bin/sandbox +1 -1
  9. data/lib/solidus_afterpay/configuration.rb +9 -2
  10. data/lib/solidus_afterpay/engine.rb +1 -1
  11. data/lib/solidus_afterpay/testing_support/factories.rb +1 -1
  12. data/lib/solidus_afterpay/version.rb +1 -1
  13. data/solidus_afterpay.gemspec +4 -4
  14. metadata +11 -99
  15. data/spec/fixtures/vcr_casettes/create_checkout/invalid.yml +0 -65
  16. data/spec/fixtures/vcr_casettes/create_checkout/valid.yml +0 -64
  17. data/spec/fixtures/vcr_casettes/credit/invalid.yml +0 -61
  18. data/spec/fixtures/vcr_casettes/credit/valid.yml +0 -63
  19. data/spec/fixtures/vcr_casettes/deferred/authorize/declined_payment.yml +0 -120
  20. data/spec/fixtures/vcr_casettes/deferred/authorize/invalid.yml +0 -61
  21. data/spec/fixtures/vcr_casettes/deferred/authorize/valid.yml +0 -120
  22. data/spec/fixtures/vcr_casettes/deferred/capture/invalid.yml +0 -61
  23. data/spec/fixtures/vcr_casettes/deferred/capture/valid.yml +0 -140
  24. data/spec/fixtures/vcr_casettes/deferred/void/invalid.yml +0 -61
  25. data/spec/fixtures/vcr_casettes/deferred/void/valid.yml +0 -137
  26. data/spec/fixtures/vcr_casettes/find_order/invalid.yml +0 -64
  27. data/spec/fixtures/vcr_casettes/find_order/valid.yml +0 -120
  28. data/spec/fixtures/vcr_casettes/find_payment/invalid.yml +0 -61
  29. data/spec/fixtures/vcr_casettes/find_payment/valid.yml +0 -140
  30. data/spec/fixtures/vcr_casettes/immediate/capture/declined_payment.yml +0 -120
  31. data/spec/fixtures/vcr_casettes/immediate/capture/invalid.yml +0 -61
  32. data/spec/fixtures/vcr_casettes/immediate/capture/valid.yml +0 -134
  33. data/spec/fixtures/vcr_casettes/retrieve_configuration/valid.yml +0 -67
  34. data/spec/helpers/solidus_afterpay/afterpay_helper_spec.rb +0 -39
  35. data/spec/models/solidus_afterpay/gateway_spec.rb +0 -492
  36. data/spec/models/solidus_afterpay/order_component_builder_spec.rb +0 -198
  37. data/spec/models/solidus_afterpay/payment_method_spec.rb +0 -207
  38. data/spec/models/solidus_afterpay/payment_source_spec.rb +0 -61
  39. data/spec/models/solidus_afterpay/user_agent_generator_spec.rb +0 -22
  40. data/spec/models/spree/order_spec.rb +0 -158
  41. data/spec/presenters/solidus_afterpay/order_presenter_spec.rb +0 -34
  42. data/spec/presenters/solidus_afterpay/shipping_rate_presenter_spec.rb +0 -28
  43. data/spec/requests/solidus_afterpay/callbacks_controller_spec.rb +0 -127
  44. data/spec/requests/solidus_afterpay/checkouts_controller_spec.rb +0 -258
  45. data/spec/requests/solidus_afterpay/express_callbacks_controller_spec.rb +0 -167
  46. data/spec/services/solidus_afterpay/base_service_spec.rb +0 -13
  47. data/spec/services/solidus_afterpay/shipping_rate_builder_service_spec.rb +0 -34
  48. data/spec/services/solidus_afterpay/update_order_addresses_service_spec.rb +0 -82
  49. data/spec/services/solidus_afterpay/update_order_attributes_service_spec.rb +0 -58
  50. data/spec/spec_helper.rb +0 -31
  51. data/spec/support/auth.rb +0 -15
  52. data/spec/support/cache.rb +0 -5
  53. data/spec/support/preferences.rb +0 -33
  54. data/spec/support/solidus.rb +0 -1
  55. data/spec/support/vcr.rb +0 -18
  56. data/spec/views/solidus_afterpay/express_checkout_button_spec.rb +0 -33
  57. data/spec/views/spree/shared/afterpay_messaging_spec.rb +0 -44
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.configure do |config|
4
- def described_class_source_location
5
- described_class.instance_methods(false).map do |method|
6
- described_class.instance_method(method).source_location.first
7
- end.uniq.first
8
- end
9
-
10
- config.before(:each, use_solidus_api: true) do
11
- SolidusAfterpay.configure do |c|
12
- c.use_solidus_api = true
13
- end
14
-
15
- class_name = described_class.to_s.split('::').last
16
- source_location = described_class_source_location
17
-
18
- SolidusAfterpay.send(:remove_const, class_name)
19
- load source_location
20
- end
21
-
22
- config.after(:each, use_solidus_api: true) do
23
- SolidusAfterpay.configure do |c|
24
- c.use_solidus_api = false
25
- end
26
-
27
- class_name = described_class.to_s.split('::').last
28
- source_location = described_class_source_location
29
-
30
- SolidusAfterpay.send(:remove_const, class_name)
31
- load source_location
32
- end
33
- end
@@ -1 +0,0 @@
1
- require 'spree/testing_support/order_walkthrough'
data/spec/support/vcr.rb DELETED
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'vcr'
4
-
5
- VCR.configure do |config|
6
- config.ignore_localhost = true
7
- config.cassette_library_dir = "spec/fixtures/vcr_casettes"
8
- config.hook_into :webmock
9
- config.configure_rspec_metadata!
10
- config.allow_http_connections_when_no_cassette = false
11
-
12
- config.filter_sensitive_data('<ENCODED_AUTH_HEADER>') do
13
- Base64.strict_encode64(
14
- "#{ENV.fetch('AFTERPAY_MERCHANT_ID',
15
- 'dummy_merchant_id')}:#{ENV.fetch('AFTERPAY_SECRET_KEY', 'dummy_secret_key')}"
16
- )
17
- end
18
- end
@@ -1,33 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe "rendering afterpay express checkout button", type: :view do
4
- subject(:rendered) { render "solidus_afterpay/afterpay_checkout_button", payment_method: payment_method }
5
-
6
- let(:payment_method) { SolidusAfterpay::PaymentMethod.active.first }
7
- let(:order) { create(:order) }
8
-
9
- before do
10
- create(:afterpay_payment_method)
11
- assign(:order, order)
12
- end
13
-
14
- context "when order is available for order" do
15
- before do
16
- allow(payment_method).to receive(:available_for_order?).with(order).and_return(true)
17
- end
18
-
19
- it 'displays the afterpay express checkout button' do
20
- expect(rendered).to match("Checkout with Afterpay")
21
- end
22
- end
23
-
24
- context "when order is not available for order" do
25
- before do
26
- allow(payment_method).to receive(:available_for_order?).with(order).and_return(false)
27
- end
28
-
29
- it 'does not display the afterpay express checkout button' do
30
- expect(rendered).not_to match("Checkout with Afterpay")
31
- end
32
- end
33
- end
@@ -1,44 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe "rendering afterpay messaging", type: :view do
4
- let(:product) { create(:base_product) }
5
- let(:second_product) { create(:base_product) }
6
- let(:excluded_product) { create(:base_product) }
7
- let(:product_array) { [product] }
8
- let(:payment_method) { SolidusAfterpay::PaymentMethod.active.first }
9
- let(:amount) { product.price }
10
-
11
- before do
12
- create(:afterpay_payment_method, preferred_excluded_products: excluded_product.id.to_s)
13
- render partial: "spree/shared/afterpay_messaging", locals: { min: nil, max: nil, products: product_array,
14
- data:
15
- { amount: amount, locale: "en_US", currency: "USD" } }
16
- end
17
-
18
- context "without excluded products" do
19
- context "when rendering afterpay messaging for a single product" do
20
- it 'displays afterpay messaging' do
21
- expect(rendered).to match("19.99" && "afterpay-placement")
22
- end
23
- end
24
-
25
- context "when rendering afterpay messaging for multiple products" do
26
- let(:product_array) { [product, second_product] }
27
- let(:amount) { (product.price + second_product.price) }
28
-
29
- it 'displays afterpay messaging' do
30
- expect(rendered).to match("39.98" && "afterpay-placement")
31
- end
32
- end
33
- end
34
-
35
- context "with excluded products" do
36
- context "when one of the products is excluded" do
37
- let(:product_array) { [product, second_product, excluded_product] }
38
-
39
- it "does not render the afterpay messaging partial" do
40
- expect(rendered).not_to match("afterpay-placement")
41
- end
42
- end
43
- end
44
- end