|
@@ -15,8 +15,31 @@ test( "searchable_select check", function() {
|
|
|
el: el,
|
|
|
model: {
|
|
|
configure_attributes: [
|
|
|
- { name: 'searchable_select1', display: 'SearchableSelect1', tag: 'searchable_select', options: options, null: true, default: defaults['searchable_select1'] },
|
|
|
- { name: 'searchable_select2', display: 'SearchableSelect2', tag: 'searchable_select', options: options, null: false, default: defaults['searchable_select2'] },
|
|
|
+ {
|
|
|
+ name: 'searchable_select1',
|
|
|
+ display: 'SearchableSelect1',
|
|
|
+ tag: 'searchable_select',
|
|
|
+ options: options,
|
|
|
+ null: true,
|
|
|
+ default: defaults['searchable_select1']
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'searchable_select2',
|
|
|
+ display: 'SearchableSelect2',
|
|
|
+ tag: 'searchable_select',
|
|
|
+ options: options,
|
|
|
+ null: false,
|
|
|
+ default: defaults['searchable_select2']
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'searchable_select3',
|
|
|
+ display: 'SearchableSelect3',
|
|
|
+ tag: 'searchable_select',
|
|
|
+ options: options,
|
|
|
+ default: defaults['searchable_select3'],
|
|
|
+ null: true,
|
|
|
+ unknown: true
|
|
|
+ },
|
|
|
]
|
|
|
},
|
|
|
autofocus: true
|
|
@@ -26,36 +49,67 @@ test( "searchable_select check", function() {
|
|
|
var test_params = {
|
|
|
searchable_select1: '',
|
|
|
searchable_select2: 'bbb',
|
|
|
+ searchable_select3: '',
|
|
|
}
|
|
|
deepEqual( params, test_params, 'form param check' )
|
|
|
|
|
|
// change selection
|
|
|
$('[name="searchable_select1"].js-shadow + .js-input').focus().val('').trigger('input')
|
|
|
- var entries = $('[name="searchable_select1"]').closest('.searchableSelect').find('.js-optionsList li:not(.is-hidden)').length
|
|
|
+ var $element = $('[name="searchable_select1"]').closest('.searchableSelect').find('.js-optionsList')
|
|
|
+ var entries = $element.find('li:not(.is-hidden)').length
|
|
|
equal(entries, 3, 'dropdown count')
|
|
|
$('[name="searchable_select1"].js-shadow + .js-input').focus().val('ccc display').trigger('input')
|
|
|
- var entries = $('[name="searchable_select1"]').closest('.searchableSelect').find('.js-optionsList li:not(.is-hidden)').length
|
|
|
+ var entries = $element.find('li:not(.is-hidden)').length
|
|
|
equal(entries, 1, 'dropdown count')
|
|
|
- $('[name="searchable_select1"]').closest('.searchableSelect').find('.js-optionsList li:not(.is-hidden)').first().click()
|
|
|
+ $element.find('li:not(.is-hidden)').first().click()
|
|
|
params = App.ControllerForm.params( el )
|
|
|
test_params = {
|
|
|
searchable_select1: 'ccc',
|
|
|
searchable_select2: 'bbb',
|
|
|
+ searchable_select3: '',
|
|
|
}
|
|
|
deepEqual( params, test_params, 'form param check' )
|
|
|
|
|
|
$('[name="searchable_select2"].js-shadow + .js-input').focus().val('').trigger('input')
|
|
|
- var entries = $('[name="searchable_select2"]').closest('.searchableSelect').find('.js-optionsList li:not(.is-hidden)').length
|
|
|
+ var $element = $('[name="searchable_select2"]').closest('.searchableSelect').find('.js-optionsList')
|
|
|
+ var entries = $element.find('li:not(.is-hidden)').length
|
|
|
equal(entries, 3, 'dropdown count')
|
|
|
$('[name="searchable_select2"].js-shadow + .js-input').focus().val('ccc display').trigger('input')
|
|
|
- var entries = $('[name="searchable_select2"]').closest('.searchableSelect').find('.js-optionsList li:not(.is-hidden)').length
|
|
|
+ var entries = $element.find('li:not(.is-hidden)').length
|
|
|
equal(entries, 1, 'dropdown count')
|
|
|
- $('[name="searchable_select2"]').closest('.searchableSelect').find('.js-optionsList li:not(.is-hidden)').first().click()
|
|
|
+ $element.find('li:not(.is-hidden)').first().click()
|
|
|
|
|
|
params = App.ControllerForm.params( el )
|
|
|
test_params = {
|
|
|
searchable_select1: 'ccc',
|
|
|
searchable_select2: 'ccc',
|
|
|
+ searchable_select3: '',
|
|
|
+ }
|
|
|
+ deepEqual( params, test_params, 'form param check' )
|
|
|
+
|
|
|
+ $('[name="searchable_select3"].js-shadow + .js-input').focus().val('').trigger('input')
|
|
|
+ var $element = $('[name="searchable_select3"]').closest('.searchableSelect').find('.js-optionsList')
|
|
|
+ var entries = $element.find('li:not(.is-hidden)').length
|
|
|
+ equal(entries, 3, 'dropdown count')
|
|
|
+ $('[name="searchable_select3"].js-shadow + .js-input').focus().val('ccc display').trigger('input')
|
|
|
+ var entries = $element.find('li:not(.is-hidden)').length
|
|
|
+ equal(entries, 1, 'dropdown count')
|
|
|
+ $('[name="searchable_select3"].js-shadow + .js-input').focus().val('unknown value').trigger('input')
|
|
|
+ var entries = $element.find('li:not(.is-hidden)').length
|
|
|
+ equal(entries, 3, 'dropdown count')
|
|
|
+ var entries = $element.find('li.is-active').length
|
|
|
+ equal(entries, 0, 'active count')
|
|
|
+
|
|
|
+ var e = $.Event('keydown')
|
|
|
+ e.which = 13 //enter
|
|
|
+ e.keyCode = 13
|
|
|
+ $('[name="searchable_select3"].js-shadow + .js-input').trigger(e)
|
|
|
+
|
|
|
+ params = App.ControllerForm.params( el )
|
|
|
+ test_params = {
|
|
|
+ searchable_select1: 'ccc',
|
|
|
+ searchable_select2: 'ccc',
|
|
|
+ searchable_select3: 'unknown value',
|
|
|
}
|
|
|
deepEqual( params, test_params, 'form param check' )
|
|
|
|