hedera-web/src/test/cypress/integration/config/AddresList.spec.js

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);
});
});