workarea-api-admin 4.4.6
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 +7 -0
- data/.gitignore +12 -0
- data/README.md +82 -0
- data/Rakefile +10 -0
- data/app/assets/images/workarea/api/admin/icons/api.svg +1 -0
- data/app/controllers/workarea/api/admin/application_controller.rb +73 -0
- data/app/controllers/workarea/api/admin/categories_controller.rb +305 -0
- data/app/controllers/workarea/api/admin/category_product_rules_controller.rb +232 -0
- data/app/controllers/workarea/api/admin/content_assets_controller.rb +299 -0
- data/app/controllers/workarea/api/admin/content_controller.rb +268 -0
- data/app/controllers/workarea/api/admin/discounts_controller.rb +271 -0
- data/app/controllers/workarea/api/admin/email_signups_controller.rb +108 -0
- data/app/controllers/workarea/api/admin/fulfillments_controller.rb +268 -0
- data/app/controllers/workarea/api/admin/inventory_skus_controller.rb +305 -0
- data/app/controllers/workarea/api/admin/navigation_menus_controller.rb +267 -0
- data/app/controllers/workarea/api/admin/navigation_taxons_controller.rb +305 -0
- data/app/controllers/workarea/api/admin/orders_controller.rb +160 -0
- data/app/controllers/workarea/api/admin/pages_controller.rb +305 -0
- data/app/controllers/workarea/api/admin/payment_profiles_controller.rb +305 -0
- data/app/controllers/workarea/api/admin/payment_transactions_controller.rb +108 -0
- data/app/controllers/workarea/api/admin/payments_controller.rb +115 -0
- data/app/controllers/workarea/api/admin/prices_controller.rb +232 -0
- data/app/controllers/workarea/api/admin/pricing_skus_controller.rb +305 -0
- data/app/controllers/workarea/api/admin/product_images_controller.rb +232 -0
- data/app/controllers/workarea/api/admin/products_controller.rb +305 -0
- data/app/controllers/workarea/api/admin/promo_code_lists_controller.rb +305 -0
- data/app/controllers/workarea/api/admin/recommendation_settings_controller.rb +122 -0
- data/app/controllers/workarea/api/admin/redirects_controller.rb +305 -0
- data/app/controllers/workarea/api/admin/releases_controller.rb +304 -0
- data/app/controllers/workarea/api/admin/saved_addresses_controller.rb +232 -0
- data/app/controllers/workarea/api/admin/saved_credit_cards_controller.rb +256 -0
- data/app/controllers/workarea/api/admin/shipping_rates_controller.rb +232 -0
- data/app/controllers/workarea/api/admin/shipping_services_controller.rb +299 -0
- data/app/controllers/workarea/api/admin/shippings_controller.rb +105 -0
- data/app/controllers/workarea/api/admin/swagger_controller.rb +41 -0
- data/app/controllers/workarea/api/admin/tax_categories_controller.rb +242 -0
- data/app/controllers/workarea/api/admin/tax_rates_controller.rb +292 -0
- data/app/controllers/workarea/api/admin/users_controller.rb +296 -0
- data/app/controllers/workarea/api/admin/variants_controller.rb +232 -0
- data/app/models/workarea/api/admin/bulk_upsert.rb +74 -0
- data/app/models/workarea/user.decorator +7 -0
- data/app/views/workarea/admin/users/_api_permissions.html.haml +6 -0
- data/app/workers/workarea/perform_api_bulk_upsert.rb +15 -0
- data/bin/rails +18 -0
- data/config/initializers/append_points.rb +4 -0
- data/config/initializers/config.rb +15 -0
- data/config/locales/en.yml +9 -0
- data/config/routes.rb +81 -0
- data/lib/workarea/api/admin.rb +21 -0
- data/lib/workarea/api/admin/engine.rb +14 -0
- data/lib/workarea/api/admin/swagger.rb +106 -0
- data/test/documentation/workarea/api/admin/categories_documentation_test.rb +106 -0
- data/test/documentation/workarea/api/admin/category_product_rules_documentation_test.rb +78 -0
- data/test/documentation/workarea/api/admin/content_assets_documentation_test.rb +94 -0
- data/test/documentation/workarea/api/admin/content_documentation_test.rb +87 -0
- data/test/documentation/workarea/api/admin/discounts_documentation_test.rb +85 -0
- data/test/documentation/workarea/api/admin/email_signups_documentation_test.rb +41 -0
- data/test/documentation/workarea/api/admin/fulfillment_documentation_test.rb +84 -0
- data/test/documentation/workarea/api/admin/inventory_skus_documentation_test.rb +95 -0
- data/test/documentation/workarea/api/admin/navigation_menus_documentation_test.rb +81 -0
- data/test/documentation/workarea/api/admin/navigation_taxons_documentation_test.rb +94 -0
- data/test/documentation/workarea/api/admin/orders_documentation_test.rb +65 -0
- data/test/documentation/workarea/api/admin/pages_documentation_test.rb +93 -0
- data/test/documentation/workarea/api/admin/payment_profiles_documentation_test.rb +98 -0
- data/test/documentation/workarea/api/admin/payment_transactions_documentation_test.rb +43 -0
- data/test/documentation/workarea/api/admin/payments_documentation_test.rb +41 -0
- data/test/documentation/workarea/api/admin/prices_documentation_test.rb +82 -0
- data/test/documentation/workarea/api/admin/pricing_skus_documentation_test.rb +95 -0
- data/test/documentation/workarea/api/admin/product_images_documentation_test.rb +101 -0
- data/test/documentation/workarea/api/admin/products_documentation_test.rb +96 -0
- data/test/documentation/workarea/api/admin/promo_code_lists_documentation_test.rb +94 -0
- data/test/documentation/workarea/api/admin/recommendation_settings_documentation_test.rb +37 -0
- data/test/documentation/workarea/api/admin/redirects_documentation_test.rb +96 -0
- data/test/documentation/workarea/api/admin/release_changes_documentation_test.rb +32 -0
- data/test/documentation/workarea/api/admin/releases_documentation_test.rb +93 -0
- data/test/documentation/workarea/api/admin/saved_addresses_documentation_test.rb +92 -0
- data/test/documentation/workarea/api/admin/saved_credit_cards_documentation_test.rb +86 -0
- data/test/documentation/workarea/api/admin/shipping_rates_documentation_test.rb +78 -0
- data/test/documentation/workarea/api/admin/shipping_services_documentation_test.rb +93 -0
- data/test/documentation/workarea/api/admin/shippings_documentation_test.rb +41 -0
- data/test/documentation/workarea/api/admin/tax_categories_documentation_test.rb +95 -0
- data/test/documentation/workarea/api/admin/tax_rates_documentation_test.rb +78 -0
- data/test/documentation/workarea/api/admin/users_documentation_test.rb +99 -0
- data/test/documentation/workarea/api/admin/variants_documentation_test.rb +80 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/app/assets/images/.keep +0 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/jobs/application_job.rb +2 -0
- data/test/dummy/app/mailers/.keep +0 -0
- data/test/dummy/app/mailers/application_mailer.rb +4 -0
- data/test/dummy/app/models/.keep +0 -0
- data/test/dummy/app/models/concerns/.keep +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +34 -0
- data/test/dummy/bin/update +29 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +25 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/cable.yml +9 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +55 -0
- data/test/dummy/config/environments/production.rb +86 -0
- data/test/dummy/config/environments/test.rb +43 -0
- data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/new_framework_defaults.rb +21 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/workarea.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/puma.rb +47 -0
- data/test/dummy/config/routes.rb +6 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/config/spring.rb +6 -0
- data/test/dummy/db/seeds.rb +2 -0
- data/test/dummy/log/.keep +0 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/test/dummy/public/apple-touch-icon.png +0 -0
- data/test/dummy/public/favicon.ico +1 -0
- data/test/integration/workarea/api/admin/audit_log_integration_test.rb +20 -0
- data/test/integration/workarea/api/admin/authentication_integration_test.rb +61 -0
- data/test/integration/workarea/api/admin/categories_integration_test.rb +64 -0
- data/test/integration/workarea/api/admin/category_product_rules_integration_test.rb +58 -0
- data/test/integration/workarea/api/admin/content_assets_integration_test.rb +65 -0
- data/test/integration/workarea/api/admin/content_integration_test.rb +59 -0
- data/test/integration/workarea/api/admin/discounts_integration_test.rb +64 -0
- data/test/integration/workarea/api/admin/email_signups_integration_test.rb +32 -0
- data/test/integration/workarea/api/admin/error_handling_integration_test.rb +16 -0
- data/test/integration/workarea/api/admin/fulfillments_integration_test.rb +62 -0
- data/test/integration/workarea/api/admin/inventory_skus_integration_test.rb +70 -0
- data/test/integration/workarea/api/admin/navigation_menus_integration_test.rb +54 -0
- data/test/integration/workarea/api/admin/navigation_taxons_integration_test.rb +63 -0
- data/test/integration/workarea/api/admin/orders_integration_test.rb +53 -0
- data/test/integration/workarea/api/admin/pages_integration_test.rb +64 -0
- data/test/integration/workarea/api/admin/payment_profiles_integration_test.rb +75 -0
- data/test/integration/workarea/api/admin/payment_transactions_integration_test.rb +45 -0
- data/test/integration/workarea/api/admin/payments_integration_test.rb +29 -0
- data/test/integration/workarea/api/admin/prices_integration_test.rb +55 -0
- data/test/integration/workarea/api/admin/pricing_skus_integration_test.rb +72 -0
- data/test/integration/workarea/api/admin/product_images_integration_test.rb +56 -0
- data/test/integration/workarea/api/admin/products_integration_test.rb +66 -0
- data/test/integration/workarea/api/admin/promo_code_lists_integration_test.rb +70 -0
- data/test/integration/workarea/api/admin/recommendation_settings_integration_test.rb +41 -0
- data/test/integration/workarea/api/admin/redirects_integration_test.rb +69 -0
- data/test/integration/workarea/api/admin/release_changes_integration_test.rb +32 -0
- data/test/integration/workarea/api/admin/releases_integration_test.rb +60 -0
- data/test/integration/workarea/api/admin/saved_addresses_integration_test.rb +70 -0
- data/test/integration/workarea/api/admin/saved_credit_cards_integration_test.rb +76 -0
- data/test/integration/workarea/api/admin/shipping_rates_integration_test.rb +54 -0
- data/test/integration/workarea/api/admin/shipping_services_integration_test.rb +64 -0
- data/test/integration/workarea/api/admin/shippings_integration_test.rb +34 -0
- data/test/integration/workarea/api/admin/tax_categories_integration_test.rb +64 -0
- data/test/integration/workarea/api/admin/tax_rates_integration_test.rb +66 -0
- data/test/integration/workarea/api/admin/users_integration_test.rb +67 -0
- data/test/integration/workarea/api/admin/variants_integration_test.rb +59 -0
- data/test/models/workarea/api/admin/bulk_upsert_test.rb +79 -0
- data/test/test_helper.rb +10 -0
- data/test/vcr_cassettes/product_image_from_url.yml +43 -0
- data/workarea-api-admin.gemspec +18 -0
- metadata +252 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'workarea/api/documentation_test'
|
|
3
|
+
|
|
4
|
+
module Workarea
|
|
5
|
+
module Api
|
|
6
|
+
module Admin
|
|
7
|
+
class ReleasesDocumentationTest < DocumentationTest
|
|
8
|
+
include Workarea::Admin::IntegrationTest
|
|
9
|
+
|
|
10
|
+
resource 'Releases'
|
|
11
|
+
|
|
12
|
+
def sample_attributes
|
|
13
|
+
create_release.as_json.except('_id')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_and_document_index
|
|
17
|
+
description 'Listing releases'
|
|
18
|
+
route admin_api.releases_path
|
|
19
|
+
parameter :page, 'Current page'
|
|
20
|
+
parameter :sort_by, 'Field on which to sort (see responses for possible values)'
|
|
21
|
+
parameter :sort_direction, 'Direction to sort (asc or desc)'
|
|
22
|
+
|
|
23
|
+
2.times { create_release }
|
|
24
|
+
|
|
25
|
+
record_request do
|
|
26
|
+
get admin_api.releases_path,
|
|
27
|
+
params: { page: 1, sort_by: 'created_at', sort_direction: 'desc' }
|
|
28
|
+
|
|
29
|
+
assert_equal(200, response.status)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_and_document_create
|
|
34
|
+
description 'Creating a release'
|
|
35
|
+
route admin_api.releases_path
|
|
36
|
+
|
|
37
|
+
record_request do
|
|
38
|
+
post admin_api.releases_path, params: sample_attributes, as: :json
|
|
39
|
+
assert_equal(201, response.status)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def test_and_document_show
|
|
44
|
+
description 'Showing a release'
|
|
45
|
+
route admin_api.release_path(':id')
|
|
46
|
+
|
|
47
|
+
record_request do
|
|
48
|
+
get admin_api.release_path(create_release.id)
|
|
49
|
+
assert_equal(200, response.status)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_and_document_update
|
|
54
|
+
description 'Updating a release'
|
|
55
|
+
route admin_api.release_path(':id')
|
|
56
|
+
|
|
57
|
+
record_request do
|
|
58
|
+
patch admin_api.release_path(create_release.id),
|
|
59
|
+
params: sample_attributes,
|
|
60
|
+
as: :json
|
|
61
|
+
|
|
62
|
+
assert_equal(204, response.status)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_and_document_bulk_upsert
|
|
67
|
+
description 'Bulk upserting releases'
|
|
68
|
+
route admin_api.bulk_releases_path
|
|
69
|
+
|
|
70
|
+
record_request do
|
|
71
|
+
patch admin_api.bulk_releases_path,
|
|
72
|
+
params: { releases: [sample_attributes] * 3 },
|
|
73
|
+
as: :json
|
|
74
|
+
|
|
75
|
+
assert_equal(204, response.status)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def test_and_document_destroy
|
|
80
|
+
description 'Removing a release'
|
|
81
|
+
route admin_api.release_path(':id')
|
|
82
|
+
|
|
83
|
+
release = create_release
|
|
84
|
+
|
|
85
|
+
record_request do
|
|
86
|
+
delete admin_api.release_path(release.id), as: :json
|
|
87
|
+
assert_equal(204, response.status)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'workarea/api/documentation_test'
|
|
3
|
+
|
|
4
|
+
module Workarea
|
|
5
|
+
module Api
|
|
6
|
+
module Admin
|
|
7
|
+
class SavedAddressesDocumentationTest < DocumentationTest
|
|
8
|
+
include Workarea::Admin::IntegrationTest
|
|
9
|
+
|
|
10
|
+
resource 'Saved Addresses'
|
|
11
|
+
|
|
12
|
+
def user
|
|
13
|
+
@user ||= create_user
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def sample_attributes
|
|
17
|
+
{
|
|
18
|
+
first_name: 'Ben',
|
|
19
|
+
last_name: 'Crouse',
|
|
20
|
+
street: '22 S. 3rd St.',
|
|
21
|
+
city: 'Philadelphia',
|
|
22
|
+
region: 'PA',
|
|
23
|
+
postal_code: '19106',
|
|
24
|
+
country: 'US',
|
|
25
|
+
phone_number: '2159251800'
|
|
26
|
+
}
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def create_saved_address
|
|
30
|
+
@count ||= 0
|
|
31
|
+
@count += 1
|
|
32
|
+
|
|
33
|
+
user.addresses.create!(
|
|
34
|
+
sample_attributes.merge(street: "#{@count} S 3rd St")
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_and_document_index
|
|
39
|
+
description 'Listing saved address'
|
|
40
|
+
route admin_api.user_saved_addresses_path(':user_id')
|
|
41
|
+
|
|
42
|
+
2.times { create_saved_address }
|
|
43
|
+
|
|
44
|
+
record_request do
|
|
45
|
+
get admin_api.user_saved_addresses_path(user.id)
|
|
46
|
+
assert_equal(200, response.status)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_and_document_create
|
|
51
|
+
description 'Creating a saved address'
|
|
52
|
+
route admin_api.user_saved_addresses_path(':user_id')
|
|
53
|
+
|
|
54
|
+
record_request do
|
|
55
|
+
post admin_api.user_saved_addresses_path(user.id),
|
|
56
|
+
params: { saved_address: sample_attributes },
|
|
57
|
+
as: :json
|
|
58
|
+
|
|
59
|
+
assert_equal(201, response.status)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def test_and_document_update
|
|
64
|
+
description 'Updating a saved address'
|
|
65
|
+
route admin_api.user_saved_address_path(':user_id', ':id')
|
|
66
|
+
|
|
67
|
+
saved_address = create_saved_address
|
|
68
|
+
|
|
69
|
+
record_request do
|
|
70
|
+
patch admin_api.user_saved_address_path(user.id, saved_address.id),
|
|
71
|
+
params: { saved_address: { street: '1 Foobar Lane' } },
|
|
72
|
+
as: :json
|
|
73
|
+
|
|
74
|
+
assert_equal(204, response.status)
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_and_document_destroy
|
|
79
|
+
description 'Removing a saved address'
|
|
80
|
+
route admin_api.user_saved_address_path(':user_id', ':id')
|
|
81
|
+
|
|
82
|
+
saved_address = create_saved_address
|
|
83
|
+
|
|
84
|
+
record_request do
|
|
85
|
+
delete admin_api.user_saved_address_path(user.id, saved_address.id)
|
|
86
|
+
assert_equal(204, response.status)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'workarea/api/documentation_test'
|
|
3
|
+
|
|
4
|
+
module Workarea
|
|
5
|
+
module Api
|
|
6
|
+
module Admin
|
|
7
|
+
class SavedCreditCardsDocumentationTest < DocumentationTest
|
|
8
|
+
include Workarea::Admin::IntegrationTest
|
|
9
|
+
|
|
10
|
+
resource 'Saved Credit Cards'
|
|
11
|
+
|
|
12
|
+
def payment_profile
|
|
13
|
+
@payment_profile ||= create_payment_profile
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def sample_attributes
|
|
17
|
+
@sample_attributes ||= create_saved_credit_card(profile_id: payment_profile.id)
|
|
18
|
+
.as_json
|
|
19
|
+
.except('_id')
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_and_document_index
|
|
23
|
+
description 'Listing saved credit cards'
|
|
24
|
+
route admin_api.payment_profile_saved_credit_cards_path(':payment_profile_id')
|
|
25
|
+
parameter :page, 'Current page'
|
|
26
|
+
parameter :sort_by, 'Field on which to sort (see responses for possible values)'
|
|
27
|
+
parameter :sort_direction, 'Direction to sort (asc or desc)'
|
|
28
|
+
|
|
29
|
+
2.times { create_saved_credit_card(profile: payment_profile) }
|
|
30
|
+
|
|
31
|
+
record_request do
|
|
32
|
+
get admin_api.payment_profile_saved_credit_cards_path(payment_profile.id)
|
|
33
|
+
assert_equal(200, response.status)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_and_document_create
|
|
38
|
+
description 'Creating a saved credit card'
|
|
39
|
+
route admin_api.payment_profile_saved_credit_cards_path(':payment_profile_id')
|
|
40
|
+
|
|
41
|
+
record_request do
|
|
42
|
+
post admin_api.payment_profile_saved_credit_cards_path(payment_profile.id),
|
|
43
|
+
params: { saved_credit_card: sample_attributes },
|
|
44
|
+
as: :json
|
|
45
|
+
|
|
46
|
+
assert_equal(201, response.status)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_and_document_update
|
|
51
|
+
description 'Updating a saved credit card'
|
|
52
|
+
route admin_api.payment_profile_saved_credit_card_path(':payment_profile_id', ':id')
|
|
53
|
+
|
|
54
|
+
saved_credit_card = create_saved_credit_card(profile: payment_profile)
|
|
55
|
+
|
|
56
|
+
record_request do
|
|
57
|
+
patch admin_api.payment_profile_saved_credit_card_path(
|
|
58
|
+
payment_profile.id,
|
|
59
|
+
saved_credit_card.id
|
|
60
|
+
),
|
|
61
|
+
params: { saved_credit_card: { first_name: 'Ben' } },
|
|
62
|
+
as: :json
|
|
63
|
+
|
|
64
|
+
assert_equal(204, response.status)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_and_document_destroy
|
|
69
|
+
description 'Removing a saved credit card'
|
|
70
|
+
route admin_api.payment_profile_saved_credit_card_path(':payment_profile_id', ':id')
|
|
71
|
+
|
|
72
|
+
saved_credit_card = create_saved_credit_card(profile: payment_profile)
|
|
73
|
+
|
|
74
|
+
record_request do
|
|
75
|
+
delete admin_api.payment_profile_saved_credit_card_path(
|
|
76
|
+
payment_profile.id,
|
|
77
|
+
saved_credit_card.id
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
assert_equal(204, response.status)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'workarea/api/documentation_test'
|
|
3
|
+
|
|
4
|
+
module Workarea
|
|
5
|
+
module Api
|
|
6
|
+
module Admin
|
|
7
|
+
class ShippingRatesDocumentationTest < DocumentationTest
|
|
8
|
+
include Workarea::Admin::IntegrationTest
|
|
9
|
+
|
|
10
|
+
resource 'Shipping Rates'
|
|
11
|
+
|
|
12
|
+
def shipping_service
|
|
13
|
+
@shipping_service ||= create_shipping_service
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def sample_attributes
|
|
17
|
+
shipping_service.rates.first.as_json.except('_id')
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def create_rate
|
|
21
|
+
shipping_service.rates.create!(sample_attributes)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_and_document_index
|
|
25
|
+
description 'Listing shipping rates'
|
|
26
|
+
route admin_api.shipping_service_rates_path(':shipping_service_id')
|
|
27
|
+
|
|
28
|
+
2.times { create_rate }
|
|
29
|
+
|
|
30
|
+
record_request do
|
|
31
|
+
get admin_api.shipping_service_rates_path(shipping_service.id)
|
|
32
|
+
assert_equal(200, response.status)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_and_document_create
|
|
37
|
+
description 'Creating a shipping rate'
|
|
38
|
+
route admin_api.shipping_service_rates_path(':shipping_service_id')
|
|
39
|
+
|
|
40
|
+
record_request do
|
|
41
|
+
post admin_api.shipping_service_rates_path(shipping_service.id),
|
|
42
|
+
params: { rate: sample_attributes },
|
|
43
|
+
as: :json
|
|
44
|
+
|
|
45
|
+
assert_equal(201, response.status)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def test_and_document_update
|
|
50
|
+
description 'Updating a shipping rate'
|
|
51
|
+
route admin_api.shipping_service_rate_path(':shipping_service_id', ':id')
|
|
52
|
+
|
|
53
|
+
rate = create_rate
|
|
54
|
+
|
|
55
|
+
record_request do
|
|
56
|
+
patch admin_api.shipping_service_rate_path(shipping_service.id, rate.id),
|
|
57
|
+
params: { rate: { price: 34 } },
|
|
58
|
+
as: :json
|
|
59
|
+
|
|
60
|
+
assert_equal(204, response.status)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def test_and_document_destroy
|
|
65
|
+
description 'Removing a shipping rate'
|
|
66
|
+
route admin_api.shipping_service_rate_path(':shipping_service_id', ':id')
|
|
67
|
+
|
|
68
|
+
rate = create_rate
|
|
69
|
+
|
|
70
|
+
record_request do
|
|
71
|
+
delete admin_api.shipping_service_rate_path(shipping_service.id, rate.id)
|
|
72
|
+
assert_equal(204, response.status)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'workarea/api/documentation_test'
|
|
3
|
+
|
|
4
|
+
module Workarea
|
|
5
|
+
module Api
|
|
6
|
+
module Admin
|
|
7
|
+
class ShippingServicesDocumentationTest < DocumentationTest
|
|
8
|
+
include Workarea::Admin::IntegrationTest
|
|
9
|
+
|
|
10
|
+
resource 'Shipping Services'
|
|
11
|
+
|
|
12
|
+
def sample_attributes
|
|
13
|
+
create_shipping_service.as_json.except('_id')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_and_document_index
|
|
17
|
+
description 'Listing shipping_services'
|
|
18
|
+
route admin_api.shipping_services_path
|
|
19
|
+
parameter :page, 'Current page'
|
|
20
|
+
parameter :sort_by, 'Field on which to sort (see responses for possible values)'
|
|
21
|
+
parameter :sort_direction, 'Direction to sort (asc or desc)'
|
|
22
|
+
|
|
23
|
+
2.times { create_shipping_service }
|
|
24
|
+
|
|
25
|
+
record_request do
|
|
26
|
+
get admin_api.shipping_services_path,
|
|
27
|
+
params: { page: 1, sort_by: 'created_at', sort_direction: 'desc' }
|
|
28
|
+
|
|
29
|
+
assert_equal(200, response.status)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_and_document_create
|
|
34
|
+
description 'Creating a shipping_service'
|
|
35
|
+
route admin_api.shipping_services_path
|
|
36
|
+
|
|
37
|
+
record_request do
|
|
38
|
+
post admin_api.shipping_services_path, params: sample_attributes, as: :json
|
|
39
|
+
assert_equal(201, response.status)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def test_and_document_show
|
|
44
|
+
description 'Showing a shipping_service'
|
|
45
|
+
route admin_api.shipping_service_path(':id')
|
|
46
|
+
|
|
47
|
+
record_request do
|
|
48
|
+
get admin_api.shipping_service_path(create_shipping_service.id)
|
|
49
|
+
assert_equal(200, response.status)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_and_document_update
|
|
54
|
+
description 'Updating a shipping_service'
|
|
55
|
+
route admin_api.shipping_service_path(':id')
|
|
56
|
+
|
|
57
|
+
record_request do
|
|
58
|
+
patch admin_api.shipping_service_path(create_shipping_service.id),
|
|
59
|
+
params: sample_attributes,
|
|
60
|
+
as: :json
|
|
61
|
+
|
|
62
|
+
assert_equal(204, response.status)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_and_document_bulk_upsert
|
|
67
|
+
description 'Bulk upserting shipping_services'
|
|
68
|
+
route admin_api.bulk_shipping_services_path
|
|
69
|
+
|
|
70
|
+
record_request do
|
|
71
|
+
patch admin_api.bulk_shipping_services_path,
|
|
72
|
+
params: { shipping_services: [sample_attributes] * 3 },
|
|
73
|
+
as: :json
|
|
74
|
+
|
|
75
|
+
assert_equal(204, response.status)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def test_and_document_destroy
|
|
80
|
+
description 'Removing a shipping_service'
|
|
81
|
+
route admin_api.shipping_service_path(':id')
|
|
82
|
+
|
|
83
|
+
shipping_service = create_shipping_service
|
|
84
|
+
|
|
85
|
+
record_request do
|
|
86
|
+
delete admin_api.shipping_service_path(shipping_service.id), as: :json
|
|
87
|
+
assert_equal(204, response.status)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'workarea/api/documentation_test'
|
|
3
|
+
|
|
4
|
+
module Workarea
|
|
5
|
+
module Api
|
|
6
|
+
module Admin
|
|
7
|
+
class ShippingsDocumentationTest < DocumentationTest
|
|
8
|
+
include Workarea::Admin::IntegrationTest
|
|
9
|
+
|
|
10
|
+
resource 'Shipping'
|
|
11
|
+
|
|
12
|
+
def test_and_document_index
|
|
13
|
+
description 'Listing shipments'
|
|
14
|
+
route admin_api.shippings_path
|
|
15
|
+
parameter :page, 'Current page'
|
|
16
|
+
parameter :sort_by, 'Field on which to sort (see responses for possible values)'
|
|
17
|
+
parameter :sort_direction, 'Direction to sort (asc or desc)'
|
|
18
|
+
|
|
19
|
+
2.times { create_shipping }
|
|
20
|
+
|
|
21
|
+
record_request do
|
|
22
|
+
get admin_api.shippings_path,
|
|
23
|
+
params: { page: 1, sort_by: 'created_at', sort_direction: 'desc' }
|
|
24
|
+
|
|
25
|
+
assert_equal(200, response.status)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_and_document_show
|
|
30
|
+
description 'Showing a shipment'
|
|
31
|
+
route admin_api.shipping_path(':id')
|
|
32
|
+
|
|
33
|
+
record_request do
|
|
34
|
+
get admin_api.shipping_path(create_shipping.id)
|
|
35
|
+
assert_equal(200, response.status)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|