Skip to content

Commit 46a1671

Browse files
committed
deflake select spec
1 parent 11889b7 commit 46a1671

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

app/javascript/controllers/multiple_select_controller.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ export default class extends Controller {
1414
showAllOption: Boolean
1515
}
1616

17-
connect () {
17+
connect() {
1818
if (this.withOptionsValue) {
1919
this.createMultiSelectWithOptionGroups()
2020
} else {
2121
this.createBasicMultiSelect()
2222
}
2323
}
2424

25-
createBasicMultiSelect () {
25+
createBasicMultiSelect() {
2626
/* eslint-disable no-new */
2727
new TomSelect(this.selectTarget, {
2828
plugins: {
@@ -33,7 +33,7 @@ export default class extends Controller {
3333
})
3434
}
3535

36-
createMultiSelectWithOptionGroups () {
36+
createMultiSelectWithOptionGroups() {
3737
const optionTemplate = this.optionTarget.innerHTML
3838
const itemTemplate = this.itemTarget.innerHTML
3939
const placeholder = `Select or search ${this.placeholderTermValue}`
@@ -84,8 +84,8 @@ export default class extends Controller {
8484
label: '<i class="lni lni-cross-circle"></i>'
8585
},
8686
checkbox_options: {
87-
checkedClassNames: ['form-check-input'],
88-
uncheckedClassNames: ['form-check-input']
87+
checkedClassNames: ['form-check-input', 'form-check-input--checked'],
88+
uncheckedClassNames: ['form-check-input', 'form-check-input--unchecked'],
8989
}
9090
},
9191
options: dropdownOptions,

spec/system/casa_cases/edit_spec.rb

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,17 +238,20 @@
238238
expect(page).to have_text("Set Implementation Status")
239239

240240
find(".ts-control").click
241-
ts_checkboxes = page.all(".ts-dropdown-content input")
242241

243242
select_all_el = page.find("span[data-test=select-all-input]")
244243
# uncheck all contact type options
245244
select_all_el.click
246-
ts_checkboxes.each do |el|
247-
expect(el).not_to be_checked
245+
within ".ts-dropdown-content" do
246+
expect(page).to_not have_css(".form-check-input--checked")
247+
expect(page).to have_css(".form-check-input--unchecked", count: 2)
248248
end
249249
# check all contact type options
250250
select_all_el.click
251-
expect(ts_checkboxes).to all(be_checked)
251+
within ".ts-dropdown-content" do
252+
expect(page).to_not have_css("input.form-check-input--unchecked")
253+
expect(page).to have_css("input.form-check-input--checked", count: 2)
254+
end
252255
# since all contact type options checked, don't need to select one
253256
within ".top-page-actions" do
254257
click_on "Update CASA Case"

0 commit comments

Comments
 (0)