Refactor A Test Part 4: A Better Delete Method

Опубликовано: 02 Март 2024
на канале: gleb bahmutov
551
23

In this video, I refactor the page object method that deletes a customer.
add a log message
use cy.contains(selector, text) rather than the longer cy.get(selector).contains(text)
explicit "confirm" stub and check that the stub was called with expected argument
confirm the application routes to the correct URL after deleting
delete() {
cy.log('**deleting the customer**');
cy.on(
'window:confirm',
cy
.stub()
.returns(true)
// @ts-expect-error
.as('confirm')
);
cy.contains('button', 'Delete').click();
cy.get('@confirm').should('have.been.calledOnceWith', 'Really delete?');
cy.location('pathname').should('eq', '/customer');
}
Find the original code at https://github.com/bahmutov/basta-spr...