57 lines
1.9 KiB
JavaScript
57 lines
1.9 KiB
JavaScript
context('Control Autocomplete', () => {
|
|
before(() => {
|
|
cy.login();
|
|
cy.visit('/app/website');
|
|
});
|
|
|
|
function get_dialog_with_autocomplete(options) {
|
|
cy.visit('/app/website');
|
|
return cy.dialog({
|
|
title: 'Autocomplete',
|
|
fields: [
|
|
{
|
|
'label': 'Select an option',
|
|
'fieldname': 'autocomplete',
|
|
'fieldtype': 'Autocomplete',
|
|
'options': options || ['Option 1', 'Option 2', 'Option 3'],
|
|
}
|
|
]
|
|
});
|
|
}
|
|
|
|
it('should set the valid value', () => {
|
|
get_dialog_with_autocomplete().as('dialog');
|
|
|
|
cy.get('.frappe-control[data-fieldname=autocomplete] input').focus().as('input');
|
|
cy.wait(1000);
|
|
cy.get('@input').type('2', { delay: 300 });
|
|
cy.get('.frappe-control[data-fieldname=autocomplete]').findByRole('listbox').should('be.visible');
|
|
cy.get('.frappe-control[data-fieldname=autocomplete] input').type('{enter}', { delay: 300 });
|
|
cy.get('.frappe-control[data-fieldname=autocomplete] input').blur();
|
|
cy.get('@dialog').then(dialog => {
|
|
let value = dialog.get_value('autocomplete');
|
|
expect(value).to.eq('Option 2');
|
|
dialog.clear();
|
|
});
|
|
});
|
|
|
|
it('should set the valid value with different label', () => {
|
|
const options_with_label = [
|
|
{ label: "Option 1", value: "option_1" },
|
|
{ label: "Option 2", value: "option_2" }
|
|
];
|
|
get_dialog_with_autocomplete(options_with_label).as('dialog');
|
|
|
|
cy.get('.frappe-control[data-fieldname=autocomplete] input').focus().as('input');
|
|
cy.get('.frappe-control[data-fieldname=autocomplete]').findByRole('listbox').should('be.visible');
|
|
cy.get('@input').type('2', { delay: 300 });
|
|
cy.get('.frappe-control[data-fieldname=autocomplete] input').type('{enter}', { delay: 300 });
|
|
cy.get('.frappe-control[data-fieldname=autocomplete] input').blur();
|
|
cy.get('@dialog').then(dialog => {
|
|
let value = dialog.get_value('autocomplete');
|
|
expect(value).to.eq('option_2');
|
|
dialog.clear();
|
|
});
|
|
});
|
|
|
|
});
|