test - user should be able to delete saved preset (#3989)

This commit is contained in:
wojteknowacki 2023-07-24 15:39:47 +02:00 committed by GitHub
parent b6e6a1a532
commit addd8840cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 38 additions and 0 deletions

View file

@ -7,11 +7,13 @@ import { LOCAL_STORAGE_KEYS, urlList } from "../../../fixtures/";
import { ensureCanvasStatic } from "../../../support/customCommands/sharedElementsOperations/canvas"; import { ensureCanvasStatic } from "../../../support/customCommands/sharedElementsOperations/canvas";
import { import {
addPresetWithName, addPresetWithName,
clickDeletePresetButton,
clickSavedPresetContain, clickSavedPresetContain,
clickShowSavedPresetsButton, clickShowSavedPresetsButton,
clickUpdatePresetButton, clickUpdatePresetButton,
confirmActivePresetName, confirmActivePresetName,
confirmGridRowsContainsText, confirmGridRowsContainsText,
hoverSavedPresetContain,
searchItems, searchItems,
} from "../../../support/pages/catalog/presetsAndSearch"; } from "../../../support/pages/catalog/presetsAndSearch";
@ -64,4 +66,32 @@ describe("As a user I should be able to save selected filters with search querie
}); });
}, },
); );
it(
"should be able to delete preset. TC: SALEOR_2714",
{ tags: ["@productsList", "@allEnv", "@stable"] },
() => {
const firstPreset = "bean";
const secondPreset = "hoodie";
window.localStorage.setItem(
LOCAL_STORAGE_KEYS.keys.productPresets,
`[{"data":"query=${firstPreset}","name":"${firstPreset}"},{"data":"query=${secondPreset}","name":"${secondPreset}"}]`,
);
cy.visit(urlList.products);
ensureCanvasStatic(PRODUCTS_LIST.dataGridTable);
clickShowSavedPresetsButton();
hoverSavedPresetContain(secondPreset);
clickDeletePresetButton();
cy.clickSubmitButton();
ensureCanvasStatic(PRODUCTS_LIST.dataGridTable).then(() => {
expect(
localStorage.getItem(LOCAL_STORAGE_KEYS.keys.productPresets),
).to.contains(`query=${firstPreset}`);
expect(
localStorage.getItem(LOCAL_STORAGE_KEYS.keys.productPresets),
).to.not.contains(`query=${secondPreset}`);
clickShowSavedPresetsButton();
cy.contains(firstPreset).should("be.visible");
});
},
);
}); });

View file

@ -3,6 +3,7 @@ export const PRESETS = {
presetNameTextField: '[data-test-id="preset-name-text-field"]', presetNameTextField: '[data-test-id="preset-name-text-field"]',
savePresetNameButton: '[data-test-id="save-preset-button"]', savePresetNameButton: '[data-test-id="save-preset-button"]',
activePresetName: '[data-test-id="show-saved-filters-button"]', activePresetName: '[data-test-id="show-saved-filters-button"]',
presetDeleteButton: '[data-test-id="preset-delete-button"]',
savedPreset: '[data-test-id="preset"]', savedPreset: '[data-test-id="preset"]',
updatePresetButton: '[data-test-id="update-preset-button"]', updatePresetButton: '[data-test-id="update-preset-button"]',
}; };

View file

@ -28,12 +28,18 @@ export function confirmGridRowsContainsText(name) {
export function confirmActivePresetName(name) { export function confirmActivePresetName(name) {
return cy.get(PRESETS.activePresetName).should("contain.text", name); return cy.get(PRESETS.activePresetName).should("contain.text", name);
} }
export function clickDeletePresetButton() {
return cy.get(PRESETS.presetDeleteButton).click();
}
export function clickShowSavedPresetsButton() { export function clickShowSavedPresetsButton() {
cy.get(PRESETS.activePresetName).click(); cy.get(PRESETS.activePresetName).click();
} }
export function clickSavedPresetContain(presetName) { export function clickSavedPresetContain(presetName) {
cy.get(PRESETS.savedPreset).contains(presetName).click(); cy.get(PRESETS.savedPreset).contains(presetName).click();
} }
export function hoverSavedPresetContain(presetName) {
cy.get(PRESETS.savedPreset).contains(presetName).trigger("mouseover");
}
export function clickUpdatePresetButton() { export function clickUpdatePresetButton() {
cy.get(PRESETS.updatePresetButton).click(); cy.get(PRESETS.updatePresetButton).click();
} }

View file

@ -48,6 +48,7 @@ export const FilterPresetItem = ({
alignItems="center" alignItems="center"
> >
<RemoveIcon <RemoveIcon
data-test-id="preset-delete-button"
color={{ color={{
default: "iconNeutralSubdued", default: "iconNeutralSubdued",
hover: "iconNeutralPlain", hover: "iconNeutralPlain",