|
|
@@ -42,18 +42,33 @@ context('Form', () => { |
|
|
|
it('validates behaviour of Data options validations in child table', () => { |
|
|
|
// test email validations for set_invalid controller |
|
|
|
let website_input = 'website.in'; |
|
|
|
let valid_email = 'user@email.com'; |
|
|
|
let expectBackgroundColor = 'rgb(255, 245, 245)'; |
|
|
|
|
|
|
|
cy.visit('/app/contact/new'); |
|
|
|
cy.get('.frappe-control[data-fieldname="email_ids"]').as('table'); |
|
|
|
cy.get('@table').find('button.grid-add-row').click(); |
|
|
|
cy.get('.grid-body .rows [data-fieldname="email_id"]').click(); |
|
|
|
cy.get('@table').find('input.input-with-feedback.form-control').as('email_input'); |
|
|
|
cy.get('@email_input').type(website_input, { waitForAnimations: false }); |
|
|
|
cy.get('@table').find('button.grid-add-row').click(); |
|
|
|
cy.get('@table').find('[data-idx="1"]').as('row1'); |
|
|
|
cy.get('@table').find('[data-idx="2"]').as('row2'); |
|
|
|
cy.get('@row1').click(); |
|
|
|
cy.get('@row1').find('input.input-with-feedback.form-control').as('email_input1'); |
|
|
|
|
|
|
|
cy.get('@email_input1').type(website_input, { waitForAnimations: false }); |
|
|
|
cy.fill_field('company_name', 'Test Company'); |
|
|
|
cy.get('@email_input').should($div => { |
|
|
|
|
|
|
|
cy.get('@row2').click(); |
|
|
|
cy.get('@row2').find('input.input-with-feedback.form-control').as('email_input2'); |
|
|
|
cy.get('@email_input2').type(valid_email, { waitForAnimations: false }); |
|
|
|
|
|
|
|
cy.get('@row1').click(); |
|
|
|
cy.get('@email_input1').should($div => { |
|
|
|
const style = window.getComputedStyle($div[0]); |
|
|
|
expect(style.backgroundColor).to.equal(expectBackgroundColor); |
|
|
|
}); |
|
|
|
cy.get('@email_input1').should('have.class', 'invalid'); |
|
|
|
|
|
|
|
cy.get('@row2').click(); |
|
|
|
cy.get('@email_input2').should('not.have.class', 'invalid'); |
|
|
|
}); |
|
|
|
}); |