Skip to content

Commit 9bb6e94

Browse files
committed
Fix appearance and specs for option value condition
1 parent 1aa92d5 commit 9bb6e94

File tree

5 files changed

+28
-21
lines changed

5 files changed

+28
-21
lines changed

promotions/config/locales/en.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ en:
210210
solidus_promotions/conditions/one_use_per_user: One Use Per User
211211
solidus_promotions/conditions/order_option_value: Order matches selected option values
212212
solidus_promotions/conditions/option_value: Order matches selected option values, restricts line items
213-
solidus_promotions/conditions/line_item_option_value: Line Item variant matches options values
213+
solidus_promotions/conditions/line_item_option_value: Line Item variant matches option values
214214
solidus_promotions/conditions/order_product: Order contains selected products
215215
solidus_promotions/conditions/product: Order contains selected products, restricts line items
216216
solidus_promotions/conditions/line_item_product: Line item has selected product

promotions/lib/views/backend/solidus_promotions/admin/condition_fields/_line_item_option_value.html.erb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,20 @@
55
<div class="field promo-condition-option-values">
66
<div class="param-prefix hidden" data-param-prefix="<%= param_prefix %>"></div>
77
<div class="row">
8-
<div class="col-6"><%= label_tag nil, Spree::Product.model_name.human %></div>
8+
<div class="col-5"><%= label_tag nil, Spree::Product.model_name.human %></div>
99
<div class="col-6"><%= label_tag nil, plural_resource_name(Spree::OptionValue) %></div>
10+
<div class="col-1">&nbsp;</div>
1011
</div>
1112

1213
<div class="form-group">
1314
<div data-controller="product-option-values">
1415
<template data-product-option-values-target="template">
15-
<%= render "solidus_promotions/admin/condition_fields/line_item_option_value/option_value_fields", product_option_values: [nil, []], form: form %>
16+
<%= render "solidus_promotions/admin/condition_fields/line_item_option_value/option_value_fields", product_option_values: [nil, []], form: form, index: 0 %>
1617
</template>
17-
<% form.object.preferred_eligible_values.each do |product_option_values| %>
18-
<%= render "solidus_promotions/admin/condition_fields/line_item_option_value/option_value_fields", product_option_values: product_option_values, form: form %>
18+
<% form.object.preferred_eligible_values.each.with_index do |product_option_values, index| %>
19+
<%= render "solidus_promotions/admin/condition_fields/line_item_option_value/option_value_fields", product_option_values:, form:, index: %>
1920
<% end %>
20-
<div class="mb-3" data-product-option-values-target="links">
21+
<div class="mt-3" data-product-option-values-target="links">
2122
<%= link_to t(:add_product, scope: [:solidus_promotions, :line_item_option_value_condition]), "#", class: "btn btn-outline-primary", data: { action: "click->product-option-values#add_row" } %>
2223
</div>
2324
</div>

promotions/lib/views/backend/solidus_promotions/admin/condition_fields/_option_value.html.erb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,20 @@
77
<div class="field promo-condition-option-values">
88
<div class="param-prefix hidden" data-param-prefix="<%= param_prefix %>"></div>
99
<div class="row">
10-
<div class="col-6"><%= label_tag nil, Spree::Product.model_name.human %></div>
10+
<div class="col-5"><%= label_tag nil, Spree::Product.model_name.human %></div>
1111
<div class="col-6"><%= label_tag nil, plural_resource_name(Spree::OptionValue) %></div>
12+
<div class="col-1">&nbsp;</div>
1213
</div>
1314

1415
<div class="form-group">
1516
<div data-controller="product-option-values">
1617
<template data-product-option-values-target="template">
17-
<%= render "solidus_promotions/admin/condition_fields/line_item_option_value/option_value_fields", product_option_values: [nil, []], form: form %>
18+
<%= render "solidus_promotions/admin/condition_fields/line_item_option_value/option_value_fields", product_option_values: [nil, []], form:, index: 0 %>
1819
</template>
19-
<% form.object.preferred_eligible_values.each do |product_option_values| %>
20-
<%= render "solidus_promotions/admin/condition_fields/line_item_option_value/option_value_fields", product_option_values: product_option_values, form: form %>
20+
<% form.object.preferred_eligible_values.each.with_index do |product_option_values, index| %>
21+
<%= render "solidus_promotions/admin/condition_fields/line_item_option_value/option_value_fields", product_option_values:, form:, index: %>
2122
<% end %>
22-
<div class="mb-3" data-product-option-values-target="links">
23+
<div class="mt-3" data-product-option-values-target="links">
2324
<%= link_to t(:add_product, scope: [:solidus_promotions, :option_value_condition]), "#", class: "btn btn-outline-primary", data: { action: "click->product-option-values#add_row" } %>
2425
</div>
2526
</div>
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
1-
<div class="fullwidth promo-condition-option-value d-flex align-content-stretch mb-3">
2-
<div class="mr-2" style="flex-grow: 1;">
1+
<div class="promo-condition-option-value row">
2+
<div class="col-5">
33
<input
44
is="product-picker"
5+
id="ov-product-picker-<%= index %>"
56
class="w-100"
67
data-action="select2Change->product-option-values#propagate_product_id_to_value_input"
78
data-multiple="false"
89
type="hidden"
910
value="<%= product_option_values[0] %>"
1011
>
1112
</div>
12-
<div class="mr-2 ml-2" style="flex-grow: 1;">
13+
<div class="col-6">
1314
<input
1415
is="option-value-picker"
16+
id="option-value-picker-<%= index %>"
1517
class="fullwidth"
1618
name="<%= form.object_name %>[preferred_eligible_values][<%= product_option_values[0] %>]"
1719
type="hidden"
1820
data-product-id="<%= product_option_values[0] %>"
1921
value="<%= product_option_values[1].join(",") %>"
2022
>
2123
</div>
22-
<a class="fa fa-trash remove p-2" data-action="click->product-option-values#remove_row"></a>
24+
<div class="col-1">
25+
<a class="fa fa-trash remove p-2 float-right" data-action="click->product-option-values#remove_row"></a>
26+
</div>
2327
</div>

promotions/spec/system/solidus_promotions/backend/promotions_spec.rb

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -168,20 +168,21 @@
168168
let!(:option_value) { create(:option_value) }
169169
let!(:variant) { create(:variant, product: product, option_values: [option_value]) }
170170

171-
it "allows adding a line_item_with_options condition", :js do
171+
it "allows adding an option value condition", :js do
172172
visit solidus_promotions.edit_admin_promotion_path(promotion_with_benefit)
173173
click_link "Add Condition"
174-
select("Line Item Option Value(s)", from: "Condition Type")
174+
select("Line Item variant matches option values", from: "Condition Type")
175175
click_button "Add"
176-
expect(page).to have_content("Line Item Option Value(s)")
176+
expect(page).to have_content("Line Item variant matches option values")
177177
click_link "Add product"
178178
within(".promo-condition-option-value") do
179-
# find('.select2-focusser').set(product.name)
180-
# find('.select2-input').set(option_value.name)
179+
targetted_select2_search(product.name, from: "#s2id_ov-product-picker-0")
180+
targetted_select2_search(option_value.name, from: "#s2id_option-value-picker-0")
181181
end
182182
within("#benefits_adjust_line_item_#{promotion_with_benefit.benefits.first.id}_conditions") do
183-
find('input[type="submit"]', wait: 5).click
183+
click_button("Update")
184184
end
185+
expect(page).to have_content("Condition has been successfully updated!")
185186
end
186187
end
187188
end

0 commit comments

Comments
 (0)