saleor-dashboard/cypress/steps/shared/selects.js

51 lines
1.3 KiB
JavaScript
Raw Normal View History

import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
import {
selectorWithDataValue,
SHARED_ELEMENTS
} from "../../elements/shared/sharedElements";
export function fillAutocompleteSelect(selectSelector, option) {
cy.get(selectSelector)
.click()
.get(BUTTON_SELECTORS.selectOption)
.should("be.visible");
if (option) {
cy.get(selectSelector).clearAndType(option);
cy.contains(BUTTON_SELECTORS.selectOption, option).click();
cy.wrap(option).as("option");
} else {
cy.get(BUTTON_SELECTORS.selectOption)
.wait(1000)
.first()
.invoke("text")
.as("option")
.get(BUTTON_SELECTORS.selectOption)
.first()
.click();
}
return cy.get("@option");
}
export function fillMultiSelect(selectSelector, option) {
fillAutocompleteSelect(selectSelector, option).then(returnedOption => {
cy.get(SHARED_ELEMENTS.header)
.first()
.click({ force: true });
return cy.wrap(returnedOption);
});
}
export function fillBaseSelect(selectSelector, value) {
cy.get(selectSelector)
.click()
.get(selectorWithDataValue(value))
.click();
}
2021-09-08 11:32:05 +00:00
export function createNewOption(selectSelector, newOption) {
cy.get(selectSelector).type(newOption);
cy.contains(BUTTON_SELECTORS.selectOption, newOption)
.should("be.visible")
.click();
}