workarea-api-admin 4.4.7 → 4.5.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/workarea/api/admin/categories_controller.rb +6 -0
  3. data/app/controllers/workarea/api/admin/content_assets_controller.rb +6 -0
  4. data/app/controllers/workarea/api/admin/content_controller.rb +6 -0
  5. data/app/controllers/workarea/api/admin/discounts_controller.rb +7 -0
  6. data/app/controllers/workarea/api/admin/email_signups_controller.rb +20 -4
  7. data/app/controllers/workarea/api/admin/fulfillments_controller.rb +6 -1
  8. data/app/controllers/workarea/api/admin/inventory_skus_controller.rb +7 -0
  9. data/app/controllers/workarea/api/admin/navigation_menus_controller.rb +7 -0
  10. data/app/controllers/workarea/api/admin/navigation_taxons_controller.rb +7 -0
  11. data/app/controllers/workarea/api/admin/orders_controller.rb +19 -1
  12. data/app/controllers/workarea/api/admin/pages_controller.rb +7 -0
  13. data/app/controllers/workarea/api/admin/payment_profiles_controller.rb +7 -0
  14. data/app/controllers/workarea/api/admin/payment_transactions_controller.rb +7 -0
  15. data/app/controllers/workarea/api/admin/payments_controller.rb +7 -0
  16. data/app/controllers/workarea/api/admin/pricing_skus_controller.rb +7 -0
  17. data/app/controllers/workarea/api/admin/products_controller.rb +11 -4
  18. data/app/controllers/workarea/api/admin/promo_code_lists_controller.rb +7 -0
  19. data/app/controllers/workarea/api/admin/redirects_controller.rb +7 -0
  20. data/app/controllers/workarea/api/admin/releases_controller.rb +7 -0
  21. data/app/controllers/workarea/api/admin/shipping_services_controller.rb +7 -0
  22. data/app/controllers/workarea/api/admin/shippings_controller.rb +7 -0
  23. data/app/controllers/workarea/api/admin/swagger_controller.rb +33 -0
  24. data/app/controllers/workarea/api/admin/tax_categories_controller.rb +2 -0
  25. data/app/controllers/workarea/api/admin/users_controller.rb +28 -14
  26. data/app/models/workarea/api/admin/date_filtering.rb +27 -0
  27. data/lib/workarea/api/admin/engine.rb +11 -0
  28. data/test/documentation/workarea/api/admin/email_signups_documentation_test.rb +14 -2
  29. data/test/documentation/workarea/api/admin/global_functionality_documentation_test.rb +140 -0
  30. data/test/documentation/workarea/api/admin/orders_documentation_test.rb +13 -6
  31. data/test/documentation/workarea/api/admin/users_documentation_test.rb +14 -2
  32. data/test/dummy/config/initializers/session_store.rb +3 -1
  33. data/test/integration/workarea/api/admin/categories_integration_test.rb +32 -0
  34. data/test/integration/workarea/api/admin/content_assets_integration_test.rb +32 -0
  35. data/test/integration/workarea/api/admin/content_integration_test.rb +32 -0
  36. data/test/integration/workarea/api/admin/discounts_integration_test.rb +32 -0
  37. data/test/integration/workarea/api/admin/email_signups_integration_test.rb +38 -1
  38. data/test/integration/workarea/api/admin/fulfillments_integration_test.rb +22 -0
  39. data/test/integration/workarea/api/admin/inventory_skus_integration_test.rb +32 -0
  40. data/test/integration/workarea/api/admin/navigation_menus_integration_test.rb +32 -0
  41. data/test/integration/workarea/api/admin/navigation_taxons_integration_test.rb +32 -0
  42. data/test/integration/workarea/api/admin/orders_integration_test.rb +41 -2
  43. data/test/integration/workarea/api/admin/pages_integration_test.rb +32 -0
  44. data/test/integration/workarea/api/admin/payment_profiles_integration_test.rb +32 -0
  45. data/test/integration/workarea/api/admin/payment_transactions_integration_test.rb +32 -0
  46. data/test/integration/workarea/api/admin/payments_integration_test.rb +32 -0
  47. data/test/integration/workarea/api/admin/pricing_skus_integration_test.rb +32 -0
  48. data/test/integration/workarea/api/admin/products_integration_test.rb +35 -0
  49. data/test/integration/workarea/api/admin/promo_code_lists_integration_test.rb +31 -0
  50. data/test/integration/workarea/api/admin/redirects_integration_test.rb +31 -0
  51. data/test/integration/workarea/api/admin/releases_integration_test.rb +31 -0
  52. data/test/integration/workarea/api/admin/shipping_services_integration_test.rb +31 -0
  53. data/test/integration/workarea/api/admin/shippings_integration_test.rb +31 -0
  54. data/test/integration/workarea/api/admin/tax_categories_integration_test.rb +31 -0
  55. data/test/integration/workarea/api/admin/users_integration_test.rb +44 -1
  56. metadata +5 -3
@@ -20,6 +20,38 @@ module Workarea
20
20
  assert_equal(3, result.length)
21
21
  assert_equal(pages.second, Content::Page.new(result.first))
22
22
  assert_equal(pages.first, Content::Page.new(result.second))
23
+
24
+ travel_to 1.week.from_now
25
+
26
+ get admin_api.pages_path(
27
+ updated_at_starts_at: 5.days.ago,
28
+ updated_at_ends_at: 4.days.ago
29
+ )
30
+ result = JSON.parse(response.body)['pages']
31
+
32
+ assert_equal(0, result.length)
33
+
34
+ get admin_api.pages_path(
35
+ created_at_starts_at: 5.days.ago,
36
+ created_at_ends_at: 4.days.ago
37
+ )
38
+ result = JSON.parse(response.body)['pages']
39
+
40
+ assert_equal(0, result.length)
41
+
42
+ get admin_api.pages_path(
43
+ updated_at_starts_at: 8.days.ago,
44
+ updated_at_ends_at: 6.days.ago
45
+ )
46
+ result = JSON.parse(response.body)['pages']
47
+ assert_equal(3, result.length)
48
+
49
+ get admin_api.pages_path(
50
+ created_at_starts_at: 8.days.ago,
51
+ created_at_ends_at: 6.days.ago
52
+ )
53
+ result = JSON.parse(response.body)['pages']
54
+ assert_equal(3, result.length)
23
55
  end
24
56
 
25
57
  def test_creates_pages
@@ -23,6 +23,38 @@ module Workarea
23
23
  assert_equal(3, result.length)
24
24
  assert_equal(profiles.second, Payment::Profile.new(result.first))
25
25
  assert_equal(profiles.first, Payment::Profile.new(result.second))
26
+
27
+ travel_to 1.week.from_now
28
+
29
+ get admin_api.payment_profiles_path(
30
+ updated_at_starts_at: 5.days.ago,
31
+ updated_at_ends_at: 4.days.ago
32
+ )
33
+ result = JSON.parse(response.body)['payment_profiles']
34
+
35
+ assert_equal(0, result.length)
36
+
37
+ get admin_api.payment_profiles_path(
38
+ created_at_starts_at: 5.days.ago,
39
+ created_at_ends_at: 4.days.ago
40
+ )
41
+ result = JSON.parse(response.body)['payment_profiles']
42
+
43
+ assert_equal(0, result.length)
44
+
45
+ get admin_api.payment_profiles_path(
46
+ updated_at_starts_at: 8.days.ago,
47
+ updated_at_ends_at: 6.days.ago
48
+ )
49
+ result = JSON.parse(response.body)['payment_profiles']
50
+ assert_equal(3, result.length)
51
+
52
+ get admin_api.payment_profiles_path(
53
+ created_at_starts_at: 8.days.ago,
54
+ created_at_ends_at: 6.days.ago
55
+ )
56
+ result = JSON.parse(response.body)['payment_profiles']
57
+ assert_equal(3, result.length)
26
58
  end
27
59
 
28
60
  def test_creates_payment_profiles
@@ -31,6 +31,38 @@ module Workarea
31
31
  assert_equal(2, result.length)
32
32
  assert_equal(transactions.second, Payment::Transaction.new(result.first))
33
33
  assert_equal(transactions.first, Payment::Transaction.new(result.second))
34
+
35
+ travel_to 1.week.from_now
36
+
37
+ get admin_api.payment_transactions_path(
38
+ updated_at_starts_at: 5.days.ago,
39
+ updated_at_ends_at: 4.days.ago
40
+ )
41
+ result = JSON.parse(response.body)['transactions']
42
+
43
+ assert_equal(0, result.length)
44
+
45
+ get admin_api.payment_transactions_path(
46
+ created_at_starts_at: 5.days.ago,
47
+ created_at_ends_at: 4.days.ago
48
+ )
49
+ result = JSON.parse(response.body)['transactions']
50
+
51
+ assert_equal(0, result.length)
52
+
53
+ get admin_api.payment_transactions_path(
54
+ updated_at_starts_at: 8.days.ago,
55
+ updated_at_ends_at: 6.days.ago
56
+ )
57
+ result = JSON.parse(response.body)['transactions']
58
+ assert_equal(2, result.length)
59
+
60
+ get admin_api.payment_transactions_path(
61
+ created_at_starts_at: 8.days.ago,
62
+ created_at_ends_at: 6.days.ago
63
+ )
64
+ result = JSON.parse(response.body)['transactions']
65
+ assert_equal(2, result.length)
34
66
  end
35
67
 
36
68
  def test_shows_transactions
@@ -14,6 +14,38 @@ module Workarea
14
14
  assert_equal(2, result.length)
15
15
  assert_equal(payments.second, Payment.new(result.first))
16
16
  assert_equal(payments.first, Payment.new(result.second))
17
+
18
+ travel_to 1.week.from_now
19
+
20
+ get admin_api.payments_path(
21
+ updated_at_starts_at: 5.days.ago,
22
+ updated_at_ends_at: 4.days.ago
23
+ )
24
+ result = JSON.parse(response.body)['payments']
25
+
26
+ assert_equal(0, result.length)
27
+
28
+ get admin_api.payments_path(
29
+ created_at_starts_at: 5.days.ago,
30
+ created_at_ends_at: 4.days.ago
31
+ )
32
+ result = JSON.parse(response.body)['payments']
33
+
34
+ assert_equal(0, result.length)
35
+
36
+ get admin_api.payments_path(
37
+ updated_at_starts_at: 8.days.ago,
38
+ updated_at_ends_at: 6.days.ago
39
+ )
40
+ result = JSON.parse(response.body)['payments']
41
+ assert_equal(2, result.length)
42
+
43
+ get admin_api.payments_path(
44
+ created_at_starts_at: 8.days.ago,
45
+ created_at_ends_at: 6.days.ago
46
+ )
47
+ result = JSON.parse(response.body)['payments']
48
+ assert_equal(2, result.length)
17
49
  end
18
50
 
19
51
  def test_shows_payments
@@ -23,6 +23,38 @@ module Workarea
23
23
  assert_equal(3, result.length)
24
24
  assert_equal(pricing_skus.second, Pricing::Sku.new(result.first))
25
25
  assert_equal(pricing_skus.first, Pricing::Sku.new(result.second))
26
+
27
+ travel_to 1.week.from_now
28
+
29
+ get admin_api.pricing_skus_path(
30
+ updated_at_starts_at: 5.days.ago,
31
+ updated_at_ends_at: 4.days.ago
32
+ )
33
+ result = JSON.parse(response.body)['pricing_skus']
34
+
35
+ assert_equal(0, result.length)
36
+
37
+ get admin_api.pricing_skus_path(
38
+ created_at_starts_at: 5.days.ago,
39
+ created_at_ends_at: 4.days.ago
40
+ )
41
+ result = JSON.parse(response.body)['pricing_skus']
42
+
43
+ assert_equal(0, result.length)
44
+
45
+ get admin_api.pricing_skus_path(
46
+ updated_at_starts_at: 8.days.ago,
47
+ updated_at_ends_at: 6.days.ago
48
+ )
49
+ result = JSON.parse(response.body)['pricing_skus']
50
+ assert_equal(3, result.length)
51
+
52
+ get admin_api.pricing_skus_path(
53
+ created_at_starts_at: 8.days.ago,
54
+ created_at_ends_at: 6.days.ago
55
+ )
56
+ result = JSON.parse(response.body)['pricing_skus']
57
+ assert_equal(3, result.length)
26
58
  end
27
59
 
28
60
  def test_creates_pricing_skus
@@ -24,6 +24,41 @@ module Workarea
24
24
  assert_equal(products.first, Catalog::Product.new(result.second))
25
25
  end
26
26
 
27
+ def test_lists_filtered_products
28
+ products = [create_product, create_product]
29
+
30
+ travel_to 1.week.from_now
31
+
32
+ get admin_api.products_path(
33
+ updated_at_starts_at: 2.days.ago,
34
+ updated_at_ends_at: 1.day.ago
35
+ )
36
+ result = JSON.parse(response.body)['products']
37
+ assert_equal(0, result.length)
38
+
39
+ get admin_api.products_path(
40
+ created_at_starts_at: 5.days.ago,
41
+ created_at_ends_at: 4.days.ago
42
+ )
43
+ result = JSON.parse(response.body)['products']
44
+ assert_equal(0, result.length)
45
+
46
+ get admin_api.products_path(
47
+ updated_at_starts_at: 8.days.ago,
48
+ updated_at_ends_at: 6.day.from_now
49
+ )
50
+
51
+ result = JSON.parse(response.body)['products']
52
+ assert_equal(3, result.length)
53
+
54
+ get admin_api.products_path(
55
+ created_at_starts_at: 8.days.ago,
56
+ created_at_ends_at: 6.days.ago
57
+ )
58
+ result = JSON.parse(response.body)['products']
59
+ assert_equal(3, result.length)
60
+ end
61
+
27
62
  def test_creates_products
28
63
  assert_difference 'Catalog::Product.count', 1 do
29
64
  post admin_api.products_path, params: { product: @sample_attributes }
@@ -26,6 +26,37 @@ module Workarea
26
26
  promo_code_lists.first,
27
27
  Pricing::Discount::CodeList.new(result.second)
28
28
  )
29
+
30
+ travel_to 1.week.from_now
31
+
32
+ get admin_api.promo_code_lists_path(
33
+ updated_at_starts_at: 2.days.ago,
34
+ updated_at_ends_at: 1.day.ago
35
+ )
36
+ result = JSON.parse(response.body)['promo_code_lists']
37
+ assert_equal(0, result.length)
38
+
39
+ get admin_api.promo_code_lists_path(
40
+ created_at_starts_at: 5.days.ago,
41
+ created_at_ends_at: 4.days.ago
42
+ )
43
+ result = JSON.parse(response.body)['promo_code_lists']
44
+ assert_equal(0, result.length)
45
+
46
+ get admin_api.promo_code_lists_path(
47
+ updated_at_starts_at: 8.days.ago,
48
+ updated_at_ends_at: 6.day.from_now
49
+ )
50
+
51
+ result = JSON.parse(response.body)['promo_code_lists']
52
+ assert_equal(3, result.length)
53
+
54
+ get admin_api.promo_code_lists_path(
55
+ created_at_starts_at: 8.days.ago,
56
+ created_at_ends_at: 6.days.ago
57
+ )
58
+ result = JSON.parse(response.body)['promo_code_lists']
59
+ assert_equal(3, result.length)
29
60
  end
30
61
 
31
62
  def test_creates_promo_code_lists
@@ -20,6 +20,37 @@ module Workarea
20
20
  assert_equal(3, result.length)
21
21
  assert_equal(redirects.second, Navigation::Redirect.new(result.first))
22
22
  assert_equal(redirects.first, Navigation::Redirect.new(result.second))
23
+
24
+ travel_to 1.week.from_now
25
+
26
+ get admin_api.redirects_path(
27
+ updated_at_starts_at: 2.days.ago,
28
+ updated_at_ends_at: 1.day.ago
29
+ )
30
+ result = JSON.parse(response.body)['redirects']
31
+ assert_equal(0, result.length)
32
+
33
+ get admin_api.redirects_path(
34
+ created_at_starts_at: 5.days.ago,
35
+ created_at_ends_at: 4.days.ago
36
+ )
37
+ result = JSON.parse(response.body)['redirects']
38
+ assert_equal(0, result.length)
39
+
40
+ get admin_api.redirects_path(
41
+ updated_at_starts_at: 8.days.ago,
42
+ updated_at_ends_at: 6.day.from_now
43
+ )
44
+
45
+ result = JSON.parse(response.body)['redirects']
46
+ assert_equal(3, result.length)
47
+
48
+ get admin_api.redirects_path(
49
+ created_at_starts_at: 8.days.ago,
50
+ created_at_ends_at: 6.days.ago
51
+ )
52
+ result = JSON.parse(response.body)['redirects']
53
+ assert_equal(3, result.length)
23
54
  end
24
55
 
25
56
  def test_creates_redirects
@@ -20,6 +20,37 @@ module Workarea
20
20
  assert_equal(3, result.length)
21
21
  assert_equal(releases.second, Release.new(result.first))
22
22
  assert_equal(releases.first, Release.new(result.second))
23
+
24
+ travel_to 1.week.from_now
25
+
26
+ get admin_api.releases_path(
27
+ updated_at_starts_at: 2.days.ago,
28
+ updated_at_ends_at: 1.day.ago
29
+ )
30
+ result = JSON.parse(response.body)['releases']
31
+ assert_equal(0, result.length)
32
+
33
+ get admin_api.releases_path(
34
+ created_at_starts_at: 5.days.ago,
35
+ created_at_ends_at: 4.days.ago
36
+ )
37
+ result = JSON.parse(response.body)['releases']
38
+ assert_equal(0, result.length)
39
+
40
+ get admin_api.releases_path(
41
+ updated_at_starts_at: 8.days.ago,
42
+ updated_at_ends_at: 6.day.from_now
43
+ )
44
+
45
+ result = JSON.parse(response.body)['releases']
46
+ assert_equal(3, result.length)
47
+
48
+ get admin_api.releases_path(
49
+ created_at_starts_at: 8.days.ago,
50
+ created_at_ends_at: 6.days.ago
51
+ )
52
+ result = JSON.parse(response.body)['releases']
53
+ assert_equal(3, result.length)
23
54
  end
24
55
 
25
56
  def test_creates_releases
@@ -20,6 +20,37 @@ module Workarea
20
20
  assert_equal(3, result.length)
21
21
  assert_equal(shipping_services.second, Shipping::Service.new(result.first))
22
22
  assert_equal(shipping_services.first, Shipping::Service.new(result.second))
23
+
24
+ travel_to 1.week.from_now
25
+
26
+ get admin_api.shipping_services_path(
27
+ updated_at_starts_at: 2.days.ago,
28
+ updated_at_ends_at: 1.day.ago
29
+ )
30
+ result = JSON.parse(response.body)['shipping_services']
31
+ assert_equal(0, result.length)
32
+
33
+ get admin_api.shipping_services_path(
34
+ created_at_starts_at: 5.days.ago,
35
+ created_at_ends_at: 4.days.ago
36
+ )
37
+ result = JSON.parse(response.body)['shipping_services']
38
+ assert_equal(0, result.length)
39
+
40
+ get admin_api.shipping_services_path(
41
+ updated_at_starts_at: 8.days.ago,
42
+ updated_at_ends_at: 6.day.from_now
43
+ )
44
+
45
+ result = JSON.parse(response.body)['shipping_services']
46
+ assert_equal(3, result.length)
47
+
48
+ get admin_api.shipping_services_path(
49
+ created_at_starts_at: 8.days.ago,
50
+ created_at_ends_at: 6.days.ago
51
+ )
52
+ result = JSON.parse(response.body)['shipping_services']
53
+ assert_equal(3, result.length)
23
54
  end
24
55
 
25
56
  def test_creates_shipping_services
@@ -20,6 +20,37 @@ module Workarea
20
20
  assert_equal(3, result.length)
21
21
  assert_equal(shippings.second, Shipping.new(result.first))
22
22
  assert_equal(shippings.first, Shipping.new(result.second))
23
+
24
+ travel_to 1.week.from_now
25
+
26
+ get admin_api.shippings_path(
27
+ updated_at_starts_at: 2.days.ago,
28
+ updated_at_ends_at: 1.day.ago
29
+ )
30
+ result = JSON.parse(response.body)['shippings']
31
+ assert_equal(0, result.length)
32
+
33
+ get admin_api.shippings_path(
34
+ created_at_starts_at: 5.days.ago,
35
+ created_at_ends_at: 4.days.ago
36
+ )
37
+ result = JSON.parse(response.body)['shippings']
38
+ assert_equal(0, result.length)
39
+
40
+ get admin_api.shippings_path(
41
+ updated_at_starts_at: 8.days.ago,
42
+ updated_at_ends_at: 6.day.from_now
43
+ )
44
+
45
+ result = JSON.parse(response.body)['shippings']
46
+ assert_equal(3, result.length)
47
+
48
+ get admin_api.shippings_path(
49
+ created_at_starts_at: 8.days.ago,
50
+ created_at_ends_at: 6.days.ago
51
+ )
52
+ result = JSON.parse(response.body)['shippings']
53
+ assert_equal(3, result.length)
23
54
  end
24
55
 
25
56
  def test_shows_shippings
@@ -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