disco_app 0.14.4 → 0.15.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 +4 -4
- data/.github/PULL_REQUEST_TEMPLATE.md +18 -0
- data/app/controllers/disco_app/concerns/webhooks_controller.rb +48 -0
- data/app/controllers/disco_app/webhooks_controller.rb +2 -46
- data/lib/disco_app/version.rb +1 -1
- data/lib/generators/disco_app/templates/root/.gitignore +4 -0
- metadata +123 -121
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c891183749c2628841d04af2b7ba9aea55105e298c455007f0fe27e443267ec
|
4
|
+
data.tar.gz: b525b930e8e3e3282c297b9c2ac8754a0cd5629deb51584d5823aef0f3ec0008
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be4061a4dc377bdd9b9b2271899e5cca283d8503f31281a8741ce14387d1064ee251f1bf11d3c68c20a776ab9339114a50369ccb35f61b5b933f569fa1263979
|
7
|
+
data.tar.gz: 894629b3f1747cbe6cb2417ebf369e83e6a8817d352328d3513423d8aae9fa283b0a0a3a4995cc40647da482a96c6ce7da40f0515ae3f91858b05e3522822e5d
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Forecast: [C-XXX](https://app.forecast.it/project/P-X/workflow/C-XXX)
|
2
|
+
|
3
|
+
### Description
|
4
|
+
A brief overview of the work done. Be sure to provide some context to the issue/feature, so that the reviewer can jump right on in and review your sweet, sweet code.
|
5
|
+
|
6
|
+
Highlight any interesting design decisions that you may have taken.
|
7
|
+
|
8
|
+
### Notes
|
9
|
+
* A bulleted list of any secondary information that you feel would be useful to the reviewer.
|
10
|
+
* Gotchas, new dependencies, unusual data migrations, etc., would all live here.
|
11
|
+
|
12
|
+
### Checklist
|
13
|
+
|
14
|
+
- [ ] Updated README and any other relevant documentation.
|
15
|
+
- [ ] Tested changes locally.
|
16
|
+
- [ ] Updated test suite and made sure that it all passes.
|
17
|
+
- [ ] Ensured that Rubocop and friends are happy.
|
18
|
+
- [ ] Checked that this PR is referencing the correct base.
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module DiscoApp::Concerns::WebhooksController
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
|
4
|
+
included do
|
5
|
+
before_action :verify_webhook
|
6
|
+
protect_from_forgery with: :null_session
|
7
|
+
end
|
8
|
+
|
9
|
+
def process_webhook
|
10
|
+
# Get the topic and domain for this webhook.
|
11
|
+
topic = request.headers['HTTP_X_SHOPIFY_TOPIC']
|
12
|
+
shopify_domain = request.headers['HTTP_X_SHOPIFY_SHOP_DOMAIN']
|
13
|
+
|
14
|
+
# Ensure a domain was provided in the headers.
|
15
|
+
unless shopify_domain
|
16
|
+
head :bad_request
|
17
|
+
end
|
18
|
+
|
19
|
+
# Try to find a matching background job task for the given topic using class name.
|
20
|
+
job_class = DiscoApp::WebhookService.find_job_class(topic)
|
21
|
+
|
22
|
+
# Return bad request if we couldn't match a job class.
|
23
|
+
unless job_class.present?
|
24
|
+
head :bad_request
|
25
|
+
end
|
26
|
+
|
27
|
+
# Decode the body data and enqueue the appropriate job.
|
28
|
+
data = ActiveSupport::JSON::decode(request.body.read).with_indifferent_access
|
29
|
+
job_class.perform_later(shopify_domain, data)
|
30
|
+
|
31
|
+
render body: nil
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def verify_webhook
|
37
|
+
unless webhook_is_valid?
|
38
|
+
head :unauthorized
|
39
|
+
end
|
40
|
+
request.body.rewind
|
41
|
+
end
|
42
|
+
|
43
|
+
def webhook_is_valid?
|
44
|
+
return true if Rails.env.development? and DiscoApp.configuration.skip_webhook_verification?
|
45
|
+
DiscoApp::WebhookService.is_valid_hmac?(request.body.read.to_s, ShopifyApp.configuration.secret, request.headers['HTTP_X_SHOPIFY_HMAC_SHA256'])
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
@@ -1,47 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
before_action :verify_webhook
|
5
|
-
protect_from_forgery with: :null_session
|
6
|
-
|
7
|
-
def process_webhook
|
8
|
-
# Get the topic and domain for this webhook.
|
9
|
-
topic = request.headers['HTTP_X_SHOPIFY_TOPIC']
|
10
|
-
shopify_domain = request.headers['HTTP_X_SHOPIFY_SHOP_DOMAIN']
|
11
|
-
|
12
|
-
# Ensure a domain was provided in the headers.
|
13
|
-
unless shopify_domain
|
14
|
-
head :bad_request
|
15
|
-
end
|
16
|
-
|
17
|
-
# Try to find a matching background job task for the given topic using class name.
|
18
|
-
job_class = DiscoApp::WebhookService.find_job_class(topic)
|
19
|
-
|
20
|
-
# Return bad request if we couldn't match a job class.
|
21
|
-
unless job_class.present?
|
22
|
-
head :bad_request
|
23
|
-
end
|
24
|
-
|
25
|
-
# Decode the body data and enqueue the appropriate job.
|
26
|
-
data = ActiveSupport::JSON::decode(request.body.read).with_indifferent_access
|
27
|
-
job_class.perform_later(shopify_domain, data)
|
28
|
-
|
29
|
-
render body: nil
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
def verify_webhook
|
35
|
-
unless webhook_is_valid?
|
36
|
-
head :unauthorized
|
37
|
-
end
|
38
|
-
request.body.rewind
|
39
|
-
end
|
40
|
-
|
41
|
-
def webhook_is_valid?
|
42
|
-
return true if Rails.env.development? and DiscoApp.configuration.skip_webhook_verification?
|
43
|
-
DiscoApp::WebhookService.is_valid_hmac?(request.body.read.to_s, ShopifyApp.configuration.secret, request.headers['HTTP_X_SHOPIFY_HMAC_SHA256'])
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
1
|
+
class DiscoApp::WebhooksController < ActionController::Base
|
2
|
+
include DiscoApp::Concerns::WebhooksController
|
47
3
|
end
|
data/lib/disco_app/version.rb
CHANGED
@@ -19,7 +19,9 @@ pickle-email-*.html
|
|
19
19
|
## Environment normalisation:
|
20
20
|
/.bundle
|
21
21
|
/vendor/bundle
|
22
|
+
/vendor/ruby
|
22
23
|
/.env.local
|
24
|
+
.envrc
|
23
25
|
|
24
26
|
# these should all be checked in to normalise the environment:
|
25
27
|
# Gemfile.lock, .ruby-version, .ruby-gemset
|
@@ -37,3 +39,5 @@ bower.json
|
|
37
39
|
|
38
40
|
# Editors
|
39
41
|
.idea
|
42
|
+
.vscode
|
43
|
+
TAGS
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: disco_app
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Ballard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -485,6 +485,7 @@ executables: []
|
|
485
485
|
extensions: []
|
486
486
|
extra_rdoc_files: []
|
487
487
|
files:
|
488
|
+
- ".github/PULL_REQUEST_TEMPLATE.md"
|
488
489
|
- Rakefile
|
489
490
|
- app/assets/components/disco_app/buttons/model-destroy-button.es6.jsx
|
490
491
|
- app/assets/components/disco_app/forms/model-form.es6.jsx
|
@@ -584,6 +585,7 @@ files:
|
|
584
585
|
- app/controllers/disco_app/concerns/authenticated_controller.rb
|
585
586
|
- app/controllers/disco_app/concerns/carrier_request_controller.rb
|
586
587
|
- app/controllers/disco_app/concerns/user_authenticated_controller.rb
|
588
|
+
- app/controllers/disco_app/concerns/webhooks_controller.rb
|
587
589
|
- app/controllers/disco_app/frame_controller.rb
|
588
590
|
- app/controllers/disco_app/install_controller.rb
|
589
591
|
- app/controllers/disco_app/subscriptions_controller.rb
|
@@ -899,164 +901,164 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
899
901
|
version: '0'
|
900
902
|
requirements: []
|
901
903
|
rubyforge_project:
|
902
|
-
rubygems_version: 2.7.
|
904
|
+
rubygems_version: 2.7.7
|
903
905
|
signing_key:
|
904
906
|
specification_version: 4
|
905
907
|
summary: Rails engine for Shopify applications.
|
906
908
|
test_files:
|
907
|
-
- test/
|
908
|
-
- test/dummy/
|
909
|
-
- test/dummy/
|
910
|
-
- test/dummy/
|
911
|
-
- test/dummy/
|
912
|
-
- test/dummy/
|
913
|
-
- test/dummy/
|
909
|
+
- test/dummy/public/500.html
|
910
|
+
- test/dummy/public/favicon.ico
|
911
|
+
- test/dummy/public/422.html
|
912
|
+
- test/dummy/public/404.html
|
913
|
+
- test/dummy/bin/rake
|
914
|
+
- test/dummy/bin/rails
|
915
|
+
- test/dummy/bin/setup
|
916
|
+
- test/dummy/bin/bundle
|
917
|
+
- test/dummy/Rakefile
|
918
|
+
- test/dummy/config.ru
|
919
|
+
- test/dummy/app/assets/stylesheets/application.scss
|
920
|
+
- test/dummy/app/assets/javascripts/application.js
|
921
|
+
- test/dummy/app/jobs/products_create_job.rb
|
922
|
+
- test/dummy/app/jobs/products_update_job.rb
|
914
923
|
- test/dummy/app/jobs/disco_app/app_installed_job.rb
|
915
924
|
- test/dummy/app/jobs/disco_app/app_uninstalled_job.rb
|
925
|
+
- test/dummy/app/jobs/application_job.rb
|
916
926
|
- test/dummy/app/jobs/products_delete_job.rb
|
917
|
-
- test/dummy/app/jobs/products_update_job.rb
|
918
|
-
- test/dummy/app/jobs/products_create_job.rb
|
919
927
|
- test/dummy/app/jobs/carts_update_job.rb
|
920
|
-
- test/dummy/app/
|
921
|
-
- test/dummy/app/controllers/application_controller.rb
|
922
|
-
- test/dummy/app/controllers/carrier_request_controller.rb
|
928
|
+
- test/dummy/app/controllers/home_controller.rb
|
923
929
|
- test/dummy/app/controllers/disco_app/admin/shops_controller.rb
|
930
|
+
- test/dummy/app/controllers/carrier_request_controller.rb
|
924
931
|
- test/dummy/app/controllers/proxy_controller.rb
|
925
|
-
- test/dummy/app/controllers/
|
926
|
-
- test/dummy/app/
|
927
|
-
- test/dummy/app/
|
932
|
+
- test/dummy/app/controllers/application_controller.rb
|
933
|
+
- test/dummy/app/helpers/application_helper.rb
|
934
|
+
- test/dummy/app/models/disco_app/shop.rb
|
935
|
+
- test/dummy/app/models/product.rb
|
936
|
+
- test/dummy/app/models/widget_configuration.rb
|
937
|
+
- test/dummy/app/models/js_configuration.rb
|
938
|
+
- test/dummy/app/models/application_record.rb
|
939
|
+
- test/dummy/app/models/cart.rb
|
940
|
+
- test/dummy/app/views/assets/script_tag.js.erb
|
928
941
|
- test/dummy/app/views/assets/widget.scss.erb
|
929
|
-
- test/dummy/app/views/assets/widget.js.erb
|
930
942
|
- test/dummy/app/views/assets/test.js.erb
|
931
|
-
- test/dummy/app/views/assets/
|
932
|
-
- test/dummy/app/
|
933
|
-
- test/dummy/app/
|
934
|
-
- test/dummy/
|
935
|
-
- test/dummy/
|
936
|
-
- test/dummy/
|
937
|
-
- test/dummy/
|
938
|
-
- test/dummy/bin/rails
|
939
|
-
- test/dummy/config/secrets.yml
|
940
|
-
- test/dummy/config/routes.rb
|
943
|
+
- test/dummy/app/views/assets/widget.js.erb
|
944
|
+
- test/dummy/app/views/snippets/widget.liquid.erb
|
945
|
+
- test/dummy/app/views/home/index.html.erb
|
946
|
+
- test/dummy/db/migrate/20161105054746_create_carts.rb
|
947
|
+
- test/dummy/db/migrate/20160530160739_create_asset_models.rb
|
948
|
+
- test/dummy/db/migrate/20160307182229_create_products.rb
|
949
|
+
- test/dummy/db/schema.rb
|
941
950
|
- test/dummy/config/locales/en.yml
|
942
|
-
- test/dummy/config/environments/production.rb
|
943
|
-
- test/dummy/config/environments/development.rb
|
944
|
-
- test/dummy/config/environments/test.rb
|
945
|
-
- test/dummy/config/environment.rb
|
946
|
-
- test/dummy/config/application.rb
|
947
|
-
- test/dummy/config/database.yml
|
948
|
-
- test/dummy/config/database.codeship.yml
|
949
|
-
- test/dummy/config/boot.rb
|
950
|
-
- test/dummy/config/initializers/shopify_app.rb
|
951
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
952
|
-
- test/dummy/config/initializers/mime_types.rb
|
953
951
|
- test/dummy/config/initializers/filter_parameter_logging.rb
|
954
|
-
- test/dummy/config/initializers/
|
952
|
+
- test/dummy/config/initializers/assets.rb
|
955
953
|
- test/dummy/config/initializers/session_store.rb
|
954
|
+
- test/dummy/config/initializers/inflections.rb
|
955
|
+
- test/dummy/config/initializers/mime_types.rb
|
956
956
|
- test/dummy/config/initializers/wrap_parameters.rb
|
957
|
-
- test/dummy/config/initializers/assets.rb
|
958
|
-
- test/dummy/config/initializers/cookies_serializer.rb
|
959
957
|
- test/dummy/config/initializers/disco_app.rb
|
958
|
+
- test/dummy/config/initializers/shopify_app.rb
|
959
|
+
- test/dummy/config/initializers/shopify_session_repository.rb
|
960
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
960
961
|
- test/dummy/config/initializers/omniauth.rb
|
961
|
-
- test/dummy/config/initializers/
|
962
|
-
- test/dummy/config.
|
963
|
-
- test/dummy/
|
964
|
-
- test/dummy/
|
965
|
-
- test/dummy/
|
966
|
-
- test/dummy/
|
967
|
-
- test/dummy/
|
968
|
-
- test/dummy/
|
969
|
-
- test/dummy/
|
970
|
-
- test/dummy/
|
971
|
-
- test/dummy/
|
972
|
-
- test/integration/synchronises_test.rb
|
973
|
-
- test/models/disco_app/session_test.rb
|
974
|
-
- test/models/disco_app/renders_assets_test.rb
|
975
|
-
- test/models/disco_app/has_metafields_test.rb
|
976
|
-
- test/models/disco_app/plan_test.rb
|
977
|
-
- test/models/disco_app/shop_test.rb
|
978
|
-
- test/models/disco_app/can_be_liquified_test.rb
|
979
|
-
- test/models/disco_app/subscription_test.rb
|
980
|
-
- test/disco_app_test.rb
|
981
|
-
- test/vcr/webhook_failure.yml
|
982
|
-
- test/support/test_shopify_api.rb
|
983
|
-
- test/support/test_file_fixtures.rb
|
984
|
-
- test/fixtures/products.yml
|
985
|
-
- test/fixtures/disco_app/application_charges.yml
|
986
|
-
- test/fixtures/disco_app/shops.yml
|
987
|
-
- test/fixtures/disco_app/plan_codes.yml
|
988
|
-
- test/fixtures/disco_app/subscriptions.yml
|
989
|
-
- test/fixtures/disco_app/sources.yml
|
990
|
-
- test/fixtures/disco_app/recurring_application_charges.yml
|
991
|
-
- test/fixtures/disco_app/plans.yml
|
992
|
-
- test/fixtures/widget_configurations.yml
|
962
|
+
- test/dummy/config/initializers/cookies_serializer.rb
|
963
|
+
- test/dummy/config/secrets.yml
|
964
|
+
- test/dummy/config/routes.rb
|
965
|
+
- test/dummy/config/database.codeship.yml
|
966
|
+
- test/dummy/config/environments/production.rb
|
967
|
+
- test/dummy/config/environments/test.rb
|
968
|
+
- test/dummy/config/environments/development.rb
|
969
|
+
- test/dummy/config/environment.rb
|
970
|
+
- test/dummy/config/boot.rb
|
971
|
+
- test/dummy/config/database.yml
|
972
|
+
- test/dummy/config/application.rb
|
993
973
|
- test/fixtures/liquid/model.liquid
|
974
|
+
- test/fixtures/api/subscriptions/valid_request.json
|
975
|
+
- test/fixtures/api/widget_store/users.json
|
994
976
|
- test/fixtures/api/widget_store/carrier_services.json
|
995
|
-
- test/fixtures/api/widget_store/
|
977
|
+
- test/fixtures/api/widget_store/assets/create_test_js_response.json
|
978
|
+
- test/fixtures/api/widget_store/assets/create_widget_js_response.json
|
979
|
+
- test/fixtures/api/widget_store/assets/create_test_js_request.json
|
980
|
+
- test/fixtures/api/widget_store/assets/update_script_tag_request.json
|
981
|
+
- test/fixtures/api/widget_store/assets/create_script_tag_response.json
|
982
|
+
- test/fixtures/api/widget_store/assets/create_script_tag_js_response.json
|
983
|
+
- test/fixtures/api/widget_store/assets/create_widget_scss_request.json
|
984
|
+
- test/fixtures/api/widget_store/assets/update_script_tag_response.json
|
985
|
+
- test/fixtures/api/widget_store/assets/create_widget_liquid_request.json
|
986
|
+
- test/fixtures/api/widget_store/assets/create_script_tag_js_request.json
|
987
|
+
- test/fixtures/api/widget_store/assets/create_script_tag_request.json
|
988
|
+
- test/fixtures/api/widget_store/assets/get_script_tags_preexisting_response.json
|
989
|
+
- test/fixtures/api/widget_store/assets/create_widget_scss_response.json
|
990
|
+
- test/fixtures/api/widget_store/assets/create_widget_liquid_response.json
|
991
|
+
- test/fixtures/api/widget_store/assets/get_script_tags_preexisting_request.json
|
992
|
+
- test/fixtures/api/widget_store/assets/get_script_tags_empty_response.json
|
993
|
+
- test/fixtures/api/widget_store/assets/get_script_tags_empty_request.json
|
994
|
+
- test/fixtures/api/widget_store/assets/create_widget_js_request.json
|
996
995
|
- test/fixtures/api/widget_store/products/write_metafields_single_namespace_response.json
|
996
|
+
- test/fixtures/api/widget_store/products/write_metafields_multiple_namespaces_request.json
|
997
997
|
- test/fixtures/api/widget_store/products/write_metafields_multiple_namespaces_response.json
|
998
998
|
- test/fixtures/api/widget_store/products/write_metafields_single_namespace_request.json
|
999
|
-
- test/fixtures/api/widget_store/
|
1000
|
-
- test/fixtures/api/widget_store/charges/activate_recurring_application_charge_request.json
|
1001
|
-
- test/fixtures/api/widget_store/charges/activate_application_charge_request.json
|
1002
|
-
- test/fixtures/api/widget_store/charges/get_pending_application_charge_response.json
|
1003
|
-
- test/fixtures/api/widget_store/charges/activate_recurring_application_charge_response.json
|
1004
|
-
- test/fixtures/api/widget_store/charges/create_application_charge_request.json
|
999
|
+
- test/fixtures/api/widget_store/webhooks.json
|
1005
1000
|
- test/fixtures/api/widget_store/charges/create_application_charge_response.json
|
1001
|
+
- test/fixtures/api/widget_store/charges/create_second_recurring_application_charge_response.json
|
1006
1002
|
- test/fixtures/api/widget_store/charges/activate_application_charge_response.json
|
1007
|
-
- test/fixtures/api/widget_store/charges/
|
1008
|
-
- test/fixtures/api/widget_store/charges/
|
1009
|
-
- test/fixtures/api/widget_store/charges/get_declined_recurring_application_charge_response.json
|
1003
|
+
- test/fixtures/api/widget_store/charges/create_application_charge_request.json
|
1004
|
+
- test/fixtures/api/widget_store/charges/create_recurring_application_charge_response.json
|
1010
1005
|
- test/fixtures/api/widget_store/charges/get_pending_recurring_application_charge_response.json
|
1006
|
+
- test/fixtures/api/widget_store/charges/get_declined_recurring_application_charge_response.json
|
1007
|
+
- test/fixtures/api/widget_store/charges/get_pending_application_charge_response.json
|
1008
|
+
- test/fixtures/api/widget_store/charges/activate_recurring_application_charge_response.json
|
1011
1009
|
- test/fixtures/api/widget_store/charges/get_accepted_recurring_application_charge_response.json
|
1012
|
-
- test/fixtures/api/widget_store/charges/
|
1013
|
-
- test/fixtures/api/widget_store/charges/create_second_recurring_application_charge_response.json
|
1010
|
+
- test/fixtures/api/widget_store/charges/activate_recurring_application_charge_request.json
|
1014
1011
|
- test/fixtures/api/widget_store/charges/get_accepted_application_charge_response.json
|
1015
|
-
- test/fixtures/api/widget_store/charges/
|
1016
|
-
- test/fixtures/api/widget_store/
|
1017
|
-
- test/fixtures/api/widget_store/
|
1012
|
+
- test/fixtures/api/widget_store/charges/create_recurring_application_charge_request.json
|
1013
|
+
- test/fixtures/api/widget_store/charges/get_declined_application_charge_response.json
|
1014
|
+
- test/fixtures/api/widget_store/charges/create_second_recurring_application_charge_request.json
|
1015
|
+
- test/fixtures/api/widget_store/charges/activate_application_charge_request.json
|
1018
1016
|
- test/fixtures/api/widget_store/carrier_services_create.json
|
1019
|
-
- test/fixtures/api/widget_store/
|
1020
|
-
- test/fixtures/api/widget_store/assets/create_test_js_response.json
|
1021
|
-
- test/fixtures/api/widget_store/assets/create_widget_js_request.json
|
1022
|
-
- test/fixtures/api/widget_store/assets/update_script_tag_response.json
|
1023
|
-
- test/fixtures/api/widget_store/assets/create_script_tag_js_response.json
|
1024
|
-
- test/fixtures/api/widget_store/assets/create_script_tag_response.json
|
1025
|
-
- test/fixtures/api/widget_store/assets/create_widget_scss_request.json
|
1026
|
-
- test/fixtures/api/widget_store/assets/get_script_tags_preexisting_response.json
|
1027
|
-
- test/fixtures/api/widget_store/assets/create_widget_liquid_response.json
|
1028
|
-
- test/fixtures/api/widget_store/assets/get_script_tags_preexisting_request.json
|
1029
|
-
- test/fixtures/api/widget_store/assets/create_widget_scss_response.json
|
1030
|
-
- test/fixtures/api/widget_store/assets/create_script_tag_request.json
|
1031
|
-
- test/fixtures/api/widget_store/assets/create_widget_js_response.json
|
1032
|
-
- test/fixtures/api/widget_store/assets/get_script_tags_empty_request.json
|
1033
|
-
- test/fixtures/api/widget_store/assets/update_script_tag_request.json
|
1034
|
-
- test/fixtures/api/widget_store/assets/create_script_tag_js_request.json
|
1035
|
-
- test/fixtures/api/widget_store/assets/create_test_js_request.json
|
1036
|
-
- test/fixtures/api/widget_store/assets/get_script_tags_empty_response.json
|
1037
|
-
- test/fixtures/api/subscriptions/valid_request.json
|
1038
|
-
- test/fixtures/webhooks/product_deleted.json
|
1039
|
-
- test/fixtures/webhooks/cart_updated.json
|
1040
|
-
- test/fixtures/webhooks/product_updated.json
|
1041
|
-
- test/fixtures/webhooks/product_created.json
|
1042
|
-
- test/fixtures/webhooks/app_uninstalled.json
|
1017
|
+
- test/fixtures/api/widget_store/shop.json
|
1043
1018
|
- test/fixtures/assets/test.js
|
1044
1019
|
- test/fixtures/assets/test.min.js
|
1045
|
-
- test/fixtures/
|
1020
|
+
- test/fixtures/widget_configurations.yml
|
1046
1021
|
- test/fixtures/js_configurations.yml
|
1022
|
+
- test/fixtures/disco_app/sources.yml
|
1023
|
+
- test/fixtures/disco_app/plan_codes.yml
|
1024
|
+
- test/fixtures/disco_app/shops.yml
|
1025
|
+
- test/fixtures/disco_app/application_charges.yml
|
1026
|
+
- test/fixtures/disco_app/subscriptions.yml
|
1027
|
+
- test/fixtures/disco_app/plans.yml
|
1028
|
+
- test/fixtures/disco_app/recurring_application_charges.yml
|
1029
|
+
- test/fixtures/carts.yml
|
1030
|
+
- test/fixtures/webhooks/cart_updated.json
|
1031
|
+
- test/fixtures/webhooks/app_uninstalled.json
|
1032
|
+
- test/fixtures/webhooks/product_updated.json
|
1033
|
+
- test/fixtures/webhooks/product_created.json
|
1034
|
+
- test/fixtures/webhooks/product_deleted.json
|
1035
|
+
- test/fixtures/products.yml
|
1036
|
+
- test/support/test_file_fixtures.rb
|
1037
|
+
- test/support/test_shopify_api.rb
|
1047
1038
|
- test/test_helper.rb
|
1048
|
-
- test/
|
1049
|
-
- test/jobs/disco_app/synchronise_webhooks_job_test.rb
|
1039
|
+
- test/disco_app_test.rb
|
1050
1040
|
- test/jobs/disco_app/app_uninstalled_job_test.rb
|
1051
1041
|
- test/jobs/disco_app/synchronise_carrier_service_job_test.rb
|
1042
|
+
- test/jobs/disco_app/synchronise_users_job_test.rb
|
1052
1043
|
- test/jobs/disco_app/send_subscription_job_test.rb
|
1044
|
+
- test/jobs/disco_app/synchronise_webhooks_job_test.rb
|
1053
1045
|
- test/jobs/disco_app/app_installed_job_test.rb
|
1054
|
-
- test/
|
1046
|
+
- test/vcr/webhook_failure.yml
|
1055
1047
|
- test/controllers/disco_app/install_controller_test.rb
|
1056
|
-
- test/controllers/disco_app/
|
1048
|
+
- test/controllers/disco_app/webhooks_controller_test.rb
|
1057
1049
|
- test/controllers/disco_app/admin/shops_controller_test.rb
|
1058
1050
|
- test/controllers/disco_app/subscriptions_controller_test.rb
|
1059
|
-
- test/controllers/disco_app/
|
1051
|
+
- test/controllers/disco_app/charges_controller_test.rb
|
1052
|
+
- test/controllers/proxy_controller_test.rb
|
1060
1053
|
- test/controllers/home_controller_test.rb
|
1061
|
-
- test/
|
1054
|
+
- test/integration/synchronises_test.rb
|
1055
|
+
- test/clients/disco_app/api_client_test.rb
|
1056
|
+
- test/models/disco_app/plan_test.rb
|
1057
|
+
- test/models/disco_app/has_metafields_test.rb
|
1058
|
+
- test/models/disco_app/shop_test.rb
|
1059
|
+
- test/models/disco_app/session_test.rb
|
1060
|
+
- test/models/disco_app/subscription_test.rb
|
1061
|
+
- test/models/disco_app/can_be_liquified_test.rb
|
1062
|
+
- test/models/disco_app/renders_assets_test.rb
|
1062
1063
|
- test/services/disco_app/charges_service_test.rb
|
1064
|
+
- test/services/disco_app/subscription_service_test.rb
|