81 lines
3.1 KiB
JavaScript
81 lines
3.1 KiB
JavaScript
describe('PendingOrders', () => {
|
|
beforeEach(() => {
|
|
cy.login('developer');
|
|
cy.visit('/#/account/address-list');
|
|
});
|
|
|
|
const getRandomAddressFormData = () => {
|
|
const randomString = () => Math.random().toString(36).substring(2, 15);
|
|
return {
|
|
nickname: `Nickname-${randomString()}`,
|
|
street: `Street-${randomString()}`,
|
|
city: `City-${randomString()}`,
|
|
postcode: Math.floor(Math.random() * 90000) + 10000
|
|
};
|
|
};
|
|
|
|
const fillFormWithData = data => {
|
|
cy.dataCy('addressFormNickname').find('input').click();
|
|
cy.dataCy('addressFormNickname').find('input').type(data.nickname);
|
|
cy.dataCy('addressFormStreet').find('input').click();
|
|
cy.dataCy('addressFormStreet').find('input').type(data.street);
|
|
cy.dataCy('addressFormCity').find('input').click();
|
|
cy.dataCy('addressFormCity').find('input').type(data.city);
|
|
cy.dataCy('addressFormPostcode').find('input').click();
|
|
cy.dataCy('addressFormPostcode').find('input').type(data.postcode);
|
|
cy.selectOption('[data-testid="addressFormCountry"]', 'España');
|
|
cy.selectOption('[data-testid="addressFormProvince"]', 'Province one');
|
|
};
|
|
|
|
const verifyAddressCardData = data => {
|
|
cy.dataCy('addressCardList')
|
|
.children()
|
|
.last()
|
|
.should('contain', data.nickname);
|
|
cy.dataCy('addressCardList')
|
|
.children()
|
|
.last()
|
|
.should('contain', data.street);
|
|
cy.dataCy('addressCardList')
|
|
.children()
|
|
.last()
|
|
.should('contain', data.city);
|
|
cy.dataCy('addressCardList')
|
|
.children()
|
|
.last()
|
|
.should('contain', data.postcode);
|
|
};
|
|
|
|
it('should create a new address', () => {
|
|
cy.dataCy('newAddressBtn').should('exist');
|
|
cy.dataCy('newAddressBtn').click();
|
|
cy.dataCy('formDefaultSaveButton').should('exist');
|
|
cy.dataCy('formDefaultSaveButton').should('be.disabled');
|
|
const addressFormData = getRandomAddressFormData();
|
|
fillFormWithData(addressFormData);
|
|
cy.dataCy('formDefaultSaveButton').should('not.be.disabled');
|
|
cy.dataCy('formDefaultSaveButton').click();
|
|
cy.checkNotify('positive', 'Datos guardados');
|
|
verifyAddressCardData(addressFormData);
|
|
});
|
|
|
|
it('should edit an existent address', () => {
|
|
cy.dataCy('addressCardList')
|
|
.children()
|
|
.last()
|
|
.find('[data-testid="editAddressBtn"]')
|
|
.click();
|
|
// Clear form data
|
|
cy.get('form input').each(input => {
|
|
cy.wrap(input).clear(); // Limpia el valor de cada campo de entrada
|
|
});
|
|
// Fill form with new data
|
|
const addressFormData = getRandomAddressFormData();
|
|
fillFormWithData(addressFormData);
|
|
cy.dataCy('formDefaultSaveButton').should('not.be.disabled');
|
|
cy.dataCy('formDefaultSaveButton').click();
|
|
cy.checkNotify('positive', 'Datos guardados');
|
|
verifyAddressCardData(addressFormData);
|
|
});
|
|
});
|