Skip to content

Commit 4109116

Browse files
committed
Fix appearance and specs for option value condition
(cherry picked from commit b0eda8b)
1 parent ad046f7 commit 4109116

File tree

4 files changed

+25
-19
lines changed

4 files changed

+25
-19
lines changed

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: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,24 +168,24 @@
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"
174174
select("Line Item Option Value(s)", from: "Condition Type")
175175
click_button "Add"
176176
expect(page).to have_content("Line Item Option Value(s)")
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

188-
189189
describe "Rendering the promotion edit page with the PercentWithCap calculator" do
190190
let(:promotion) { create(:solidus_promotion, name: "My capped promotion", benefits: [benefit]) }
191191
let(:benefit) { SolidusPromotions::Benefits::AdjustLineItem.new(calculator:) }

0 commit comments

Comments
 (0)