solidus_admin 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/.prettierrc +4 -0
  3. data/app/assets/builds/solidus_admin/tailwind.css +13 -1
  4. data/app/components/solidus_admin/adjustment_reasons/edit/component.html.erb +2 -3
  5. data/app/components/solidus_admin/adjustment_reasons/edit/component.rb +1 -9
  6. data/app/components/solidus_admin/adjustment_reasons/index/component.rb +22 -8
  7. data/app/components/solidus_admin/adjustment_reasons/new/component.html.erb +2 -4
  8. data/app/components/solidus_admin/adjustment_reasons/new/component.rb +1 -9
  9. data/app/components/solidus_admin/base_component.rb +2 -18
  10. data/app/components/solidus_admin/layout/navigation/component.js +1 -1
  11. data/app/components/solidus_admin/orders/index/component.rb +2 -2
  12. data/app/components/solidus_admin/orders/show/address/component.js +2 -2
  13. data/app/components/solidus_admin/orders/show/component.js +2 -2
  14. data/app/components/solidus_admin/orders/show/customer_search/component.js +5 -4
  15. data/app/components/solidus_admin/orders/show/summary/component.html.erb +6 -6
  16. data/app/components/solidus_admin/products/show/component.html.erb +7 -1
  17. data/app/components/solidus_admin/products/show/component.rb +6 -0
  18. data/app/components/solidus_admin/properties/edit/component.html.erb +16 -0
  19. data/app/components/solidus_admin/properties/edit/component.rb +4 -0
  20. data/app/components/solidus_admin/properties/edit/component.yml +4 -0
  21. data/app/components/solidus_admin/properties/index/component.rb +19 -6
  22. data/app/components/solidus_admin/properties/new/component.html.erb +16 -0
  23. data/app/components/solidus_admin/properties/new/component.rb +4 -0
  24. data/app/components/solidus_admin/properties/new/component.yml +4 -0
  25. data/app/components/solidus_admin/refund_reasons/edit/component.html.erb +2 -3
  26. data/app/components/solidus_admin/refund_reasons/edit/component.rb +1 -9
  27. data/app/components/solidus_admin/refund_reasons/index/component.rb +22 -8
  28. data/app/components/solidus_admin/refund_reasons/new/component.html.erb +2 -4
  29. data/app/components/solidus_admin/refund_reasons/new/component.rb +1 -9
  30. data/app/components/solidus_admin/resources/base_component.rb +20 -0
  31. data/app/components/solidus_admin/resources/edit/component.rb +11 -0
  32. data/app/components/solidus_admin/resources/new/component.rb +11 -0
  33. data/app/components/solidus_admin/return_reasons/edit/component.html.erb +2 -3
  34. data/app/components/solidus_admin/return_reasons/edit/component.rb +1 -9
  35. data/app/components/solidus_admin/return_reasons/index/component.rb +13 -7
  36. data/app/components/solidus_admin/return_reasons/new/component.html.erb +2 -4
  37. data/app/components/solidus_admin/return_reasons/new/component.rb +1 -9
  38. data/app/components/solidus_admin/roles/edit/component.html.erb +2 -4
  39. data/app/components/solidus_admin/roles/edit/component.rb +1 -10
  40. data/app/components/solidus_admin/roles/index/component.rb +16 -8
  41. data/app/components/solidus_admin/roles/new/component.html.erb +2 -4
  42. data/app/components/solidus_admin/roles/new/component.rb +1 -10
  43. data/app/components/solidus_admin/shipping_categories/edit/component.html.erb +2 -3
  44. data/app/components/solidus_admin/shipping_categories/edit/component.rb +1 -9
  45. data/app/components/solidus_admin/shipping_categories/index/component.rb +14 -17
  46. data/app/components/solidus_admin/shipping_categories/new/component.html.erb +2 -4
  47. data/app/components/solidus_admin/shipping_categories/new/component.rb +1 -9
  48. data/app/components/solidus_admin/stock_items/edit/component.html.erb +74 -73
  49. data/app/components/solidus_admin/stock_items/edit/component.js +4 -3
  50. data/app/components/solidus_admin/stock_items/edit/component.rb +1 -10
  51. data/app/components/solidus_admin/stock_items/index/component.rb +9 -5
  52. data/app/components/solidus_admin/store_credit_reasons/edit/component.html.erb +2 -3
  53. data/app/components/solidus_admin/store_credit_reasons/edit/component.rb +1 -9
  54. data/app/components/solidus_admin/store_credit_reasons/index/component.rb +14 -7
  55. data/app/components/solidus_admin/store_credit_reasons/new/component.html.erb +2 -4
  56. data/app/components/solidus_admin/store_credit_reasons/new/component.rb +1 -9
  57. data/app/components/solidus_admin/tax_categories/edit/component.html.erb +2 -4
  58. data/app/components/solidus_admin/tax_categories/edit/component.rb +1 -9
  59. data/app/components/solidus_admin/tax_categories/index/component.rb +30 -9
  60. data/app/components/solidus_admin/tax_categories/new/component.html.erb +2 -4
  61. data/app/components/solidus_admin/tax_categories/new/component.rb +1 -9
  62. data/app/components/solidus_admin/ui/dropdown/component.js +3 -3
  63. data/app/components/solidus_admin/ui/forms/address/component.js +5 -6
  64. data/app/components/solidus_admin/ui/forms/field/component.rb +1 -1
  65. data/app/components/solidus_admin/ui/forms/input/component.js +3 -4
  66. data/app/components/solidus_admin/ui/forms/input/component.rb +15 -4
  67. data/app/components/solidus_admin/ui/modal/component.js +2 -2
  68. data/app/components/solidus_admin/ui/pages/index/component.html.erb +3 -3
  69. data/app/components/solidus_admin/ui/pages/index/component.rb +6 -1
  70. data/app/components/solidus_admin/ui/table/component.html.erb +4 -3
  71. data/app/components/solidus_admin/ui/table/component.js +13 -17
  72. data/app/components/solidus_admin/ui/table/ransack_filter/component.js +18 -16
  73. data/app/components/solidus_admin/ui/toast/component.js +3 -3
  74. data/app/components/solidus_admin/ui/toggletip/component.js +14 -12
  75. data/app/components/solidus_admin/users/orders/component.rb +1 -1
  76. data/app/components/solidus_admin/users/store_credits/edit_amount/component.html.erb +22 -0
  77. data/app/components/solidus_admin/users/store_credits/edit_amount/component.rb +22 -0
  78. data/app/components/solidus_admin/users/store_credits/edit_amount/component.yml +5 -0
  79. data/app/components/solidus_admin/users/store_credits/edit_memo/component.html.erb +15 -0
  80. data/app/components/solidus_admin/users/store_credits/edit_memo/component.rb +16 -0
  81. data/app/components/solidus_admin/users/store_credits/edit_memo/component.yml +4 -0
  82. data/app/components/solidus_admin/users/store_credits/edit_validity/component.html.erb +21 -0
  83. data/app/components/solidus_admin/users/store_credits/edit_validity/component.rb +22 -0
  84. data/app/components/solidus_admin/users/store_credits/edit_validity/component.yml +5 -0
  85. data/app/components/solidus_admin/users/store_credits/index/component.html.erb +27 -11
  86. data/app/components/solidus_admin/users/store_credits/index/component.rb +18 -10
  87. data/app/components/solidus_admin/users/store_credits/new/component.html.erb +30 -0
  88. data/app/components/solidus_admin/users/store_credits/new/component.rb +22 -0
  89. data/app/components/solidus_admin/users/store_credits/new/component.yml +5 -0
  90. data/app/components/solidus_admin/users/store_credits/show/component.html.erb +83 -0
  91. data/app/components/solidus_admin/users/store_credits/show/component.rb +120 -0
  92. data/app/components/solidus_admin/users/store_credits/show/component.yml +18 -0
  93. data/app/controllers/solidus_admin/adjustment_reasons_controller.rb +3 -105
  94. data/app/controllers/solidus_admin/authentication_adapters/backend.rb +1 -1
  95. data/app/controllers/solidus_admin/base_controller.rb +12 -1
  96. data/app/controllers/solidus_admin/properties_controller.rb +6 -24
  97. data/app/controllers/solidus_admin/refund_reasons_controller.rb +5 -105
  98. data/app/controllers/solidus_admin/resources_controller.rb +152 -0
  99. data/app/controllers/solidus_admin/return_reasons_controller.rb +4 -104
  100. data/app/controllers/solidus_admin/roles_controller.rb +3 -105
  101. data/app/controllers/solidus_admin/shipping_categories_controller.rb +3 -107
  102. data/app/controllers/solidus_admin/stock_items_controller.rb +12 -29
  103. data/app/controllers/solidus_admin/store_credit_reasons_controller.rb +5 -105
  104. data/app/controllers/solidus_admin/store_credits_controller.rb +231 -0
  105. data/app/controllers/solidus_admin/tax_categories_controller.rb +3 -109
  106. data/app/controllers/solidus_admin/users_controller.rb +1 -9
  107. data/app/helpers/solidus_admin/void_elements_helper.rb +13 -0
  108. data/app/views/layouts/solidus_admin/application.html.erb +3 -0
  109. data/config/locales/menu_item.en.yml +0 -1
  110. data/config/locales/properties.en.yml +4 -0
  111. data/config/locales/store_credits.en.yml +16 -0
  112. data/config/routes.rb +12 -2
  113. data/lib/solidus_admin/configuration.rb +0 -5
  114. data/lib/solidus_admin/engine.rb +6 -0
  115. data/lib/solidus_admin/install_tailwindcss.rb +1 -1
  116. data/lib/solidus_admin/testing_support/component_helpers.rb +3 -9
  117. data/lib/solidus_admin/testing_support/shared_examples/bulk_delete_resources.rb +20 -0
  118. data/lib/solidus_admin/testing_support/shared_examples/crud_resource_requests.rb +138 -0
  119. data/lib/solidus_admin/testing_support/shared_examples/promotion_categories_features.rb +72 -0
  120. data/lib/solidus_admin/version.rb +1 -1
  121. metadata +35 -6
@@ -12,15 +12,9 @@ module SolidusAdmin
12
12
  # "Rendered"
13
13
  # end
14
14
  # end
15
- def mock_component(&definition)
16
- location = caller(1, 1).first
17
- component_class = Class.new(SolidusAdmin::BaseComponent)
18
- # ViewComponent will complain if we don't fake a class name:
19
- # @see https://github.com/ViewComponent/view_component/blob/5decd07842c48cbad82527daefa3fe9c65a4226a/lib/view_component/base.rb#L371
20
- component_class.define_singleton_method(:name) { "Foo" }
21
- component_class.define_singleton_method(:to_s) { "#{name} (#{location})" }
22
- component_class.class_eval(&definition) if definition
23
- component_class
15
+ def mock_component(class_name = "Foo::Component", &definition)
16
+ component_class = stub_const(class_name, Class.new(described_class, &definition))
17
+ component_class.new
24
18
  end
25
19
  end
26
20
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples_for 'feature: bulk delete resources' do
4
+ it 'allows to bulk delete resources' do
5
+ create(resource_factory, name: 'Bulk delete item 1')
6
+ create(resource_factory, name: 'Bulk delete item 2')
7
+
8
+ visit index_path
9
+ expect(page).to have_content('Bulk delete item 1')
10
+ expect(page).to have_content('Bulk delete item 2')
11
+
12
+ select_row('Bulk delete item 1')
13
+ select_row('Bulk delete item 2')
14
+ click_on 'Delete'
15
+
16
+ expect(page).to have_content('were successfully removed.')
17
+ expect(page).not_to have_content('Bulk delete item 1')
18
+ expect(page).not_to have_content('Bulk delete item 2')
19
+ end
20
+ end
@@ -0,0 +1,138 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples_for 'CRUD resource requests' do |resource_name|
4
+ let(:admin_user) { create(:admin_user) }
5
+ let(:resource) { create(factory) }
6
+
7
+ # Overridables
8
+ let(:factory) { resource_name.to_sym }
9
+ let(:url_helpers) { solidus_admin }
10
+
11
+ before do
12
+ allow_any_instance_of(SolidusAdmin::BaseController).to receive(:spree_current_user).and_return(admin_user)
13
+ end
14
+
15
+ describe "GET /index" do
16
+ it "renders the index template with a 200 OK status" do
17
+ get url_helpers.public_send("#{resource_name.pluralize}_path")
18
+ expect(response).to have_http_status(:ok)
19
+ end
20
+ end
21
+
22
+ describe "GET /new" do
23
+ it "renders the new template with a 200 OK status" do
24
+ get url_helpers.public_send("new_#{resource_name}_path")
25
+ expect(response).to have_http_status(:ok)
26
+ end
27
+ end
28
+
29
+ describe "POST /create" do
30
+ context "with valid parameters" do
31
+ it "creates a new #{resource_name.humanize}" do
32
+ expect {
33
+ post url_helpers.public_send("#{resource_name.pluralize}_path"), params: { resource_name => valid_attributes }
34
+ }.to change(resource_class, :count).by(1)
35
+ end
36
+
37
+ it "redirects to the index page with a 303 See Other status" do
38
+ post url_helpers.public_send("#{resource_name.pluralize}_path"), params: { resource_name => valid_attributes }
39
+ expect(response).to redirect_to(url_helpers.public_send("#{resource_name.pluralize}_path"))
40
+ expect(response).to have_http_status(:see_other)
41
+ end
42
+
43
+ it "displays a success flash message" do
44
+ post url_helpers.public_send("#{resource_name.pluralize}_path"), params: { resource_name => valid_attributes }
45
+ follow_redirect!
46
+ expect(response.body).to include("#{resource_name.humanize} was successfully created.")
47
+ end
48
+ end
49
+
50
+ context "with invalid parameters" do
51
+ let(:invalid_attributes) { { name: "", code: "", active: true } }
52
+
53
+ it "does not create a new #{resource_name.humanize}" do
54
+ expect {
55
+ post url_helpers.public_send("#{resource_name.pluralize}_path"), params: { resource_name => invalid_attributes }
56
+ }.not_to change(resource_class, :count)
57
+ end
58
+
59
+ it "renders the new template with unprocessable_entity status" do
60
+ post url_helpers.public_send("#{resource_name.pluralize}_path"), params: { resource_name => invalid_attributes }
61
+ expect(response).to have_http_status(:unprocessable_entity)
62
+ end
63
+ end
64
+ end
65
+
66
+ describe "GET /edit" do
67
+ it "renders the edit template with a 200 OK status" do
68
+ get url_helpers.public_send("edit_#{resource_name}_path", resource)
69
+ expect(response).to have_http_status(:ok)
70
+ end
71
+ end
72
+
73
+ describe "PATCH /update" do
74
+ context "with valid parameters" do
75
+ it "updates the #{resource_name.humanize}" do
76
+ patch url_helpers.public_send("#{resource_name}_path", resource), params: { resource_name => valid_attributes }
77
+ resource.reload
78
+ valid_attributes.each do |attr, value|
79
+ expect(resource.public_send(attr)).to eq(value)
80
+ end
81
+ end
82
+
83
+ it "redirects to the index page with a 303 See Other status" do
84
+ patch url_helpers.public_send("#{resource_name}_path", resource), params: { resource_name => valid_attributes }
85
+ expect(response).to redirect_to(url_helpers.public_send("#{resource_name.pluralize}_path"))
86
+ expect(response).to have_http_status(:see_other)
87
+ end
88
+
89
+ it "displays a success flash message" do
90
+ patch url_helpers.public_send("#{resource_name}_path", resource), params: { resource_name => valid_attributes }
91
+ follow_redirect!
92
+ expect(response.body).to include("#{resource_name.humanize} was successfully updated.")
93
+ end
94
+ end
95
+
96
+ context "with invalid parameters" do
97
+ it "does not update the #{resource_name.humanize}" do
98
+ expect {
99
+ patch url_helpers.public_send("#{resource_name}_path", resource), params: { resource_name => invalid_attributes }
100
+ }.not_to change { resource.reload }
101
+ end
102
+
103
+ it "renders the edit template with unprocessable_entity status" do
104
+ patch url_helpers.public_send("#{resource_name}_path", resource), params: { resource_name => invalid_attributes }
105
+ expect(response).to have_http_status(:unprocessable_entity)
106
+ end
107
+ end
108
+ end
109
+
110
+ describe "DELETE /destroy" do
111
+ it "deletes the #{resource_name.humanize} and redirects to the index page with a 303 See Other status" do
112
+ # This ensures resource exists prior to deletion.
113
+ resource
114
+ expect {
115
+ delete url_helpers.public_send("#{resource_name}_path", resource)
116
+ }.to change(resource_class, :count).by(-1)
117
+
118
+ expect(response).to redirect_to(url_helpers.public_send("#{resource_name.pluralize}_path"))
119
+ expect(response).to have_http_status(:see_other)
120
+ end
121
+
122
+ it "displays a success flash message after deletion" do
123
+ delete url_helpers.public_send("#{resource_name}_path", resource)
124
+ follow_redirect!
125
+ expect(response.body).to include("#{resource_name.humanize.pluralize} were successfully removed.")
126
+ end
127
+
128
+ it 'allows to bulk delete resources' do
129
+ ids = [create(factory), create(factory)].map(&:id)
130
+ expect {
131
+ delete url_helpers.public_send("#{resource_name.pluralize}_path", id: ids)
132
+ }.to change { resource_class.count }.by(-ids.size)
133
+
134
+ expect(response).to redirect_to(url_helpers.public_send("#{resource_name.pluralize}_path"))
135
+ expect(response).to have_http_status(:see_other)
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'solidus_admin/testing_support/shared_examples/bulk_delete_resources'
4
+
5
+ RSpec.shared_examples_for 'promotion categories features' do
6
+ before { sign_in create(:admin_user, email: "admin@example.com") }
7
+
8
+ it "lists promotion categories" do
9
+ create(factory_name, name: "test1", code: "code1")
10
+ create(factory_name, name: "test2", code: "code2")
11
+
12
+ visit index_path
13
+ expect(page).to have_content("test1")
14
+ expect(page).to have_content("test2")
15
+
16
+ expect(page).to be_axe_clean
17
+ end
18
+
19
+ it 'allows to create new promo category' do
20
+ visit index_path
21
+
22
+ click_on "Add new"
23
+ expect(turbo_frame_modal).to have_content("New Promotion Category")
24
+
25
+ fill_in "Code", with: "ste.1"
26
+ click_on "Add Promotion Category"
27
+
28
+ expect(turbo_frame_modal).to have_content("can't be blank")
29
+
30
+ fill_in "Name", with: "Soon to expire"
31
+ click_on "Add Promotion Category"
32
+
33
+ expect(page).to have_content("Promotion category was successfully created.")
34
+ expect(page).to have_content("Soon to expire")
35
+ expect(page).to have_content("ste.1")
36
+ expect(model_class.count).to eq(1)
37
+ end
38
+
39
+ it 'allows to update promo category' do
40
+ create(factory_name, name: "Soon to expire", code: "ste.1")
41
+
42
+ visit index_path
43
+
44
+ click_on "Soon to expire"
45
+ expect(turbo_frame_modal).to have_content("Edit Promotion Category")
46
+
47
+ fill_in "Name", with: "Expired"
48
+ fill_in "Code", with: "exp.2"
49
+ click_on "Update Promotion Category"
50
+
51
+ expect(page).to have_content("Promotion category was successfully updated.")
52
+ expect(page).to have_content("Expired")
53
+ expect(page).to have_content("exp.2")
54
+ end
55
+
56
+ it 'allows to delete promo category' do
57
+ create(factory_name, name: "Soon to expire", code: "ste.1")
58
+ create(factory_name, name: "Expired", code: "exp.2")
59
+
60
+ visit index_path
61
+
62
+ select_row("Expired")
63
+ click_on "Delete"
64
+ expect(page).to have_content("Promotion categories were successfully removed.")
65
+ expect(page).not_to have_content("Expired")
66
+ expect(model_class.count).to eq(1)
67
+ end
68
+
69
+ include_examples 'feature: bulk delete resources' do
70
+ let(:resource_factory) { factory_name }
71
+ end
72
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SolidusAdmin
4
- VERSION = "0.3.2"
4
+ VERSION = "0.4.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-11-19 00:00:00.000000000 Z
10
+ date: 2025-02-21 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: geared_pagination
@@ -121,6 +120,7 @@ extensions: []
121
120
  extra_rdoc_files: []
122
121
  files:
123
122
  - ".eslintrc.json"
123
+ - ".prettierrc"
124
124
  - LICENSE
125
125
  - README.md
126
126
  - Rakefile
@@ -211,7 +211,13 @@ files:
211
211
  - app/components/solidus_admin/products/status/component.yml
212
212
  - app/components/solidus_admin/products/stock/component.rb
213
213
  - app/components/solidus_admin/products/stock/component.yml
214
+ - app/components/solidus_admin/properties/edit/component.html.erb
215
+ - app/components/solidus_admin/properties/edit/component.rb
216
+ - app/components/solidus_admin/properties/edit/component.yml
214
217
  - app/components/solidus_admin/properties/index/component.rb
218
+ - app/components/solidus_admin/properties/new/component.html.erb
219
+ - app/components/solidus_admin/properties/new/component.rb
220
+ - app/components/solidus_admin/properties/new/component.yml
215
221
  - app/components/solidus_admin/refund_reasons/edit/component.html.erb
216
222
  - app/components/solidus_admin/refund_reasons/edit/component.rb
217
223
  - app/components/solidus_admin/refund_reasons/edit/component.yml
@@ -222,6 +228,9 @@ files:
222
228
  - app/components/solidus_admin/refunds_and_returns/component.rb
223
229
  - app/components/solidus_admin/refunds_and_returns/component.yml
224
230
  - app/components/solidus_admin/reimbursement_types/index/component.rb
231
+ - app/components/solidus_admin/resources/base_component.rb
232
+ - app/components/solidus_admin/resources/edit/component.rb
233
+ - app/components/solidus_admin/resources/new/component.rb
225
234
  - app/components/solidus_admin/return_reasons/edit/component.html.erb
226
235
  - app/components/solidus_admin/return_reasons/edit/component.rb
227
236
  - app/components/solidus_admin/return_reasons/edit/component.yml
@@ -364,9 +373,24 @@ files:
364
373
  - app/components/solidus_admin/users/stats/component.html.erb
365
374
  - app/components/solidus_admin/users/stats/component.rb
366
375
  - app/components/solidus_admin/users/stats/component.yml
376
+ - app/components/solidus_admin/users/store_credits/edit_amount/component.html.erb
377
+ - app/components/solidus_admin/users/store_credits/edit_amount/component.rb
378
+ - app/components/solidus_admin/users/store_credits/edit_amount/component.yml
379
+ - app/components/solidus_admin/users/store_credits/edit_memo/component.html.erb
380
+ - app/components/solidus_admin/users/store_credits/edit_memo/component.rb
381
+ - app/components/solidus_admin/users/store_credits/edit_memo/component.yml
382
+ - app/components/solidus_admin/users/store_credits/edit_validity/component.html.erb
383
+ - app/components/solidus_admin/users/store_credits/edit_validity/component.rb
384
+ - app/components/solidus_admin/users/store_credits/edit_validity/component.yml
367
385
  - app/components/solidus_admin/users/store_credits/index/component.html.erb
368
386
  - app/components/solidus_admin/users/store_credits/index/component.rb
369
387
  - app/components/solidus_admin/users/store_credits/index/component.yml
388
+ - app/components/solidus_admin/users/store_credits/new/component.html.erb
389
+ - app/components/solidus_admin/users/store_credits/new/component.rb
390
+ - app/components/solidus_admin/users/store_credits/new/component.yml
391
+ - app/components/solidus_admin/users/store_credits/show/component.html.erb
392
+ - app/components/solidus_admin/users/store_credits/show/component.rb
393
+ - app/components/solidus_admin/users/store_credits/show/component.yml
370
394
  - app/components/solidus_admin/users_and_roles/component.rb
371
395
  - app/components/solidus_admin/users_and_roles/component.yml
372
396
  - app/components/solidus_admin/zones/index/component.rb
@@ -391,6 +415,7 @@ files:
391
415
  - app/controllers/solidus_admin/properties_controller.rb
392
416
  - app/controllers/solidus_admin/refund_reasons_controller.rb
393
417
  - app/controllers/solidus_admin/reimbursement_types_controller.rb
418
+ - app/controllers/solidus_admin/resources_controller.rb
394
419
  - app/controllers/solidus_admin/return_reasons_controller.rb
395
420
  - app/controllers/solidus_admin/roles_controller.rb
396
421
  - app/controllers/solidus_admin/shipping_categories_controller.rb
@@ -398,6 +423,7 @@ files:
398
423
  - app/controllers/solidus_admin/stock_items_controller.rb
399
424
  - app/controllers/solidus_admin/stock_locations_controller.rb
400
425
  - app/controllers/solidus_admin/store_credit_reasons_controller.rb
426
+ - app/controllers/solidus_admin/store_credits_controller.rb
401
427
  - app/controllers/solidus_admin/stores_controller.rb
402
428
  - app/controllers/solidus_admin/tax_categories_controller.rb
403
429
  - app/controllers/solidus_admin/tax_rates_controller.rb
@@ -408,6 +434,7 @@ files:
408
434
  - app/helpers/solidus_admin/last_login_helper.rb
409
435
  - app/helpers/solidus_admin/layout_helper.rb
410
436
  - app/helpers/solidus_admin/permission_sets_helper.rb
437
+ - app/helpers/solidus_admin/void_elements_helper.rb
411
438
  - app/javascript/solidus_admin/application.js
412
439
  - app/javascript/solidus_admin/controllers/application.js
413
440
  - app/javascript/solidus_admin/controllers/components.js
@@ -443,6 +470,7 @@ files:
443
470
  - config/locales/stock_items.en.yml
444
471
  - config/locales/stock_locations.en.yml
445
472
  - config/locales/store_credit_reasons.en.yml
473
+ - config/locales/store_credits.en.yml
446
474
  - config/locales/stores.en.yml
447
475
  - config/locales/tax_categories.en.yml
448
476
  - config/locales/tax_rates.en.yml
@@ -481,6 +509,9 @@ files:
481
509
  - lib/solidus_admin/testing_support/component_helpers.rb
482
510
  - lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb
483
511
  - lib/solidus_admin/testing_support/feature_helpers.rb
512
+ - lib/solidus_admin/testing_support/shared_examples/bulk_delete_resources.rb
513
+ - lib/solidus_admin/testing_support/shared_examples/crud_resource_requests.rb
514
+ - lib/solidus_admin/testing_support/shared_examples/promotion_categories_features.rb
484
515
  - lib/solidus_admin/version.rb
485
516
  - lib/tasks/importmap.rake
486
517
  - lib/tasks/tailwind.rake
@@ -493,7 +524,6 @@ metadata:
493
524
  homepage_uri: https://github.com/solidusio/solidus/blob/main/admin/README.md
494
525
  source_code_uri: https://github.com/solidusio/solidus/tree/main/api
495
526
  changelog_uri: https://github.com/solidusio/solidus/releases?q=%22solidus_admin%2Fv0%22&expanded=true
496
- post_install_message:
497
527
  rdoc_options: []
498
528
  require_paths:
499
529
  - lib
@@ -508,8 +538,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
508
538
  - !ruby/object:Gem::Version
509
539
  version: 1.8.23
510
540
  requirements: []
511
- rubygems_version: 3.5.22
512
- signing_key:
541
+ rubygems_version: 3.6.3
513
542
  specification_version: 4
514
543
  summary: Admin interface for the Solidus e-commerce framework.
515
544
  test_files: []