workarea-api-admin 4.4.6 → 4.5.4

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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +52 -0
  3. data/README.md +4 -7
  4. data/app/controllers/workarea/api/admin/categories_controller.rb +6 -0
  5. data/app/controllers/workarea/api/admin/content_assets_controller.rb +6 -0
  6. data/app/controllers/workarea/api/admin/content_controller.rb +6 -0
  7. data/app/controllers/workarea/api/admin/discounts_controller.rb +7 -0
  8. data/app/controllers/workarea/api/admin/email_signups_controller.rb +20 -4
  9. data/app/controllers/workarea/api/admin/fulfillments_controller.rb +6 -1
  10. data/app/controllers/workarea/api/admin/inventory_skus_controller.rb +7 -0
  11. data/app/controllers/workarea/api/admin/navigation_menus_controller.rb +7 -0
  12. data/app/controllers/workarea/api/admin/navigation_taxons_controller.rb +7 -0
  13. data/app/controllers/workarea/api/admin/orders_controller.rb +19 -1
  14. data/app/controllers/workarea/api/admin/pages_controller.rb +7 -0
  15. data/app/controllers/workarea/api/admin/payment_profiles_controller.rb +7 -0
  16. data/app/controllers/workarea/api/admin/payment_transactions_controller.rb +7 -0
  17. data/app/controllers/workarea/api/admin/payments_controller.rb +7 -0
  18. data/app/controllers/workarea/api/admin/pricing_skus_controller.rb +7 -0
  19. data/app/controllers/workarea/api/admin/products_controller.rb +11 -4
  20. data/app/controllers/workarea/api/admin/promo_code_lists_controller.rb +7 -0
  21. data/app/controllers/workarea/api/admin/recommendation_settings_controller.rb +1 -1
  22. data/app/controllers/workarea/api/admin/redirects_controller.rb +7 -0
  23. data/app/controllers/workarea/api/admin/releases_controller.rb +7 -0
  24. data/app/controllers/workarea/api/admin/shipping_services_controller.rb +7 -0
  25. data/app/controllers/workarea/api/admin/shippings_controller.rb +7 -0
  26. data/app/controllers/workarea/api/admin/swagger_controller.rb +33 -0
  27. data/app/controllers/workarea/api/admin/tax_categories_controller.rb +2 -0
  28. data/app/controllers/workarea/api/admin/users_controller.rb +28 -14
  29. data/app/models/workarea/api/admin/date_filtering.rb +27 -0
  30. data/lib/workarea/api/admin/engine.rb +11 -0
  31. data/test/documentation/workarea/api/admin/email_signups_documentation_test.rb +14 -2
  32. data/test/documentation/workarea/api/admin/global_functionality_documentation_test.rb +140 -0
  33. data/test/documentation/workarea/api/admin/orders_documentation_test.rb +13 -6
  34. data/test/documentation/workarea/api/admin/users_documentation_test.rb +14 -2
  35. data/test/dummy/config/initializers/session_store.rb +3 -1
  36. data/test/integration/workarea/api/admin/categories_integration_test.rb +32 -0
  37. data/test/integration/workarea/api/admin/content_assets_integration_test.rb +32 -0
  38. data/test/integration/workarea/api/admin/content_integration_test.rb +32 -0
  39. data/test/integration/workarea/api/admin/discounts_integration_test.rb +32 -0
  40. data/test/integration/workarea/api/admin/email_signups_integration_test.rb +38 -1
  41. data/test/integration/workarea/api/admin/fulfillments_integration_test.rb +22 -0
  42. data/test/integration/workarea/api/admin/inventory_skus_integration_test.rb +32 -0
  43. data/test/integration/workarea/api/admin/navigation_menus_integration_test.rb +32 -0
  44. data/test/integration/workarea/api/admin/navigation_taxons_integration_test.rb +32 -0
  45. data/test/integration/workarea/api/admin/orders_integration_test.rb +41 -2
  46. data/test/integration/workarea/api/admin/pages_integration_test.rb +32 -0
  47. data/test/integration/workarea/api/admin/payment_profiles_integration_test.rb +32 -0
  48. data/test/integration/workarea/api/admin/payment_transactions_integration_test.rb +32 -0
  49. data/test/integration/workarea/api/admin/payments_integration_test.rb +32 -0
  50. data/test/integration/workarea/api/admin/pricing_skus_integration_test.rb +32 -0
  51. data/test/integration/workarea/api/admin/products_integration_test.rb +35 -0
  52. data/test/integration/workarea/api/admin/promo_code_lists_integration_test.rb +31 -0
  53. data/test/integration/workarea/api/admin/recommendation_settings_integration_test.rb +14 -0
  54. data/test/integration/workarea/api/admin/redirects_integration_test.rb +31 -0
  55. data/test/integration/workarea/api/admin/releases_integration_test.rb +31 -0
  56. data/test/integration/workarea/api/admin/shipping_services_integration_test.rb +31 -0
  57. data/test/integration/workarea/api/admin/shippings_integration_test.rb +31 -0
  58. data/test/integration/workarea/api/admin/tax_categories_integration_test.rb +31 -0
  59. data/test/integration/workarea/api/admin/users_integration_test.rb +44 -1
  60. data/workarea-api-admin.gemspec +7 -6
  61. metadata +17 -12
@@ -21,6 +21,37 @@ module Workarea
21
21
  assert_equal(2, result.length)
22
22
  assert_equal(tax_categories.second, Tax::Category.new(result.first))
23
23
  assert_equal(tax_categories.first, Tax::Category.new(result.second))
24
+
25
+ travel_to 1.week.from_now
26
+
27
+ get admin_api.tax_categories_path(
28
+ updated_at_starts_at: 2.days.ago,
29
+ updated_at_ends_at: 1.day.ago
30
+ )
31
+ result = JSON.parse(response.body)['tax_categories']
32
+ assert_equal(0, result.length)
33
+
34
+ get admin_api.tax_categories_path(
35
+ created_at_starts_at: 5.days.ago,
36
+ created_at_ends_at: 4.days.ago
37
+ )
38
+ result = JSON.parse(response.body)['tax_categories']
39
+ assert_equal(0, result.length)
40
+
41
+ get admin_api.tax_categories_path(
42
+ updated_at_starts_at: 8.days.ago,
43
+ updated_at_ends_at: 6.day.from_now
44
+ )
45
+
46
+ result = JSON.parse(response.body)['tax_categories']
47
+ assert_equal(2, result.length)
48
+
49
+ get admin_api.tax_categories_path(
50
+ created_at_starts_at: 8.days.ago,
51
+ created_at_ends_at: 6.days.ago
52
+ )
53
+ result = JSON.parse(response.body)['tax_categories']
54
+ assert_equal(2, result.length)
24
55
  end
25
56
 
26
57
  def test_creates_tax_categories
@@ -26,6 +26,43 @@ module Workarea
26
26
  assert_equal(users.first, User.new(result.second))
27
27
  end
28
28
 
29
+ def test_filtered_users
30
+ create_user
31
+ create_user
32
+
33
+ travel_to 1.week.from_now
34
+
35
+ get admin_api.users_path(
36
+ updated_at_starts_at: 5.days.ago,
37
+ updated_at_ends_at: 4.days.ago
38
+ )
39
+ result = JSON.parse(response.body)['users']
40
+
41
+ assert_equal(0, result.length)
42
+
43
+ get admin_api.users_path(
44
+ created_at_starts_at: 5.days.ago,
45
+ created_at_ends_at: 4.days.ago
46
+ )
47
+ result = JSON.parse(response.body)['users']
48
+
49
+ assert_equal(0, result.length)
50
+
51
+ get admin_api.users_path(
52
+ updated_at_starts_at: 8.days.ago,
53
+ updated_at_ends_at: 6.days.ago
54
+ )
55
+ result = JSON.parse(response.body)['users']
56
+ assert_equal(3, result.length) # plus one for API auth
57
+
58
+ get admin_api.users_path(
59
+ created_at_starts_at: 8.days.ago,
60
+ created_at_ends_at: 6.days.ago
61
+ )
62
+ result = JSON.parse(response.body)['users']
63
+ assert_equal(3, result.length) # plus one for API auth
64
+ end
65
+
29
66
  def test_creates_users
30
67
  data = sample_attributes
31
68
  assert_difference 'User.count', 1 do
@@ -34,11 +71,17 @@ module Workarea
34
71
  end
35
72
 
36
73
  def test_shows_users
37
- user = create_user
74
+ user = create_user(email: 'test@workarea.com')
75
+
38
76
  get admin_api.user_path(user.id)
39
77
  result = JSON.parse(response.body)['user']
40
78
  assert(result['password_digest'].blank?)
41
79
  assert_equal(user, User.new(result))
80
+
81
+ get admin_api.user_path(URI.escape(user.email, '+@.'))
82
+ result = JSON.parse(response.body)['user']
83
+ assert(result['password_digest'].blank?)
84
+ assert_equal(user, User.new(result))
42
85
  end
43
86
 
44
87
  def test_updates_users
@@ -4,15 +4,16 @@ Gem::Specification.new do |s|
4
4
  s.name = 'workarea-api-admin'
5
5
  s.version = Workarea::Api::VERSION
6
6
  s.authors = ['Ben Crouse']
7
- s.email = ['bcrouse@weblinc.com']
8
- s.homepage = 'http://www.workarea.com'
9
- s.summary = 'Admin API for the Workarea commerce platform'
10
- s.description = 'Admin HTTP API Rails Engine of the Workarea ecommerce platform'
7
+ s.email = ['bcrouse@workarea.com']
8
+ s.homepage = 'https://www.workarea.com'
9
+ s.license = 'Business Software License'
10
+ s.summary = 'Admin JSON REST API for the Workarea Commerce Platform'
11
+ s.description = 'This provides an admin JSON REST API for the Workarea Commerce Platform. Useful for managing the site, 3rd party integrations, etc.'
11
12
 
12
13
  s.files = `git ls-files`.split("\n")
13
14
 
14
15
  s.required_ruby_version = '>= 2.3.0'
15
16
 
16
- s.add_dependency 'workarea', '~> 3.x', '>= 3.4.x'
17
- s.add_dependency 'responders', '~> 2.4.0'
17
+ s.add_dependency 'workarea', '~> 3.x', '>= 3.5.x'
18
+ s.add_dependency 'responders', '~> 3.0.0'
18
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workarea-api-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.6
4
+ version: 4.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Crouse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-21 00:00:00.000000000 Z
11
+ date: 2020-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: workarea
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 3.x
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.4.x
22
+ version: 3.5.x
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,29 +29,31 @@ dependencies:
29
29
  version: 3.x
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.4.x
32
+ version: 3.5.x
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: responders
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 2.4.0
39
+ version: 3.0.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 2.4.0
47
- description: Admin HTTP API Rails Engine of the Workarea ecommerce platform
46
+ version: 3.0.0
47
+ description: This provides an admin JSON REST API for the Workarea Commerce Platform.
48
+ Useful for managing the site, 3rd party integrations, etc.
48
49
  email:
49
- - bcrouse@weblinc.com
50
+ - bcrouse@workarea.com
50
51
  executables: []
51
52
  extensions: []
52
53
  extra_rdoc_files: []
53
54
  files:
54
55
  - ".gitignore"
56
+ - LICENSE
55
57
  - README.md
56
58
  - Rakefile
57
59
  - app/assets/images/workarea/api/admin/icons/api.svg
@@ -90,6 +92,7 @@ files:
90
92
  - app/controllers/workarea/api/admin/users_controller.rb
91
93
  - app/controllers/workarea/api/admin/variants_controller.rb
92
94
  - app/models/workarea/api/admin/bulk_upsert.rb
95
+ - app/models/workarea/api/admin/date_filtering.rb
93
96
  - app/models/workarea/user.decorator
94
97
  - app/views/workarea/admin/users/_api_permissions.html.haml
95
98
  - app/workers/workarea/perform_api_bulk_upsert.rb
@@ -108,6 +111,7 @@ files:
108
111
  - test/documentation/workarea/api/admin/discounts_documentation_test.rb
109
112
  - test/documentation/workarea/api/admin/email_signups_documentation_test.rb
110
113
  - test/documentation/workarea/api/admin/fulfillment_documentation_test.rb
114
+ - test/documentation/workarea/api/admin/global_functionality_documentation_test.rb
111
115
  - test/documentation/workarea/api/admin/inventory_skus_documentation_test.rb
112
116
  - test/documentation/workarea/api/admin/navigation_menus_documentation_test.rb
113
117
  - test/documentation/workarea/api/admin/navigation_taxons_documentation_test.rb
@@ -227,8 +231,9 @@ files:
227
231
  - test/test_helper.rb
228
232
  - test/vcr_cassettes/product_image_from_url.yml
229
233
  - workarea-api-admin.gemspec
230
- homepage: http://www.workarea.com
231
- licenses: []
234
+ homepage: https://www.workarea.com
235
+ licenses:
236
+ - Business Software License
232
237
  metadata: {}
233
238
  post_install_message:
234
239
  rdoc_options: []
@@ -245,8 +250,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
250
  - !ruby/object:Gem::Version
246
251
  version: '0'
247
252
  requirements: []
248
- rubygems_version: 3.0.4
253
+ rubygems_version: 3.0.3
249
254
  signing_key:
250
255
  specification_version: 4
251
- summary: Admin API for the Workarea commerce platform
256
+ summary: Admin JSON REST API for the Workarea Commerce Platform
252
257
  test_files: []