|
|
@@ -0,0 +1,39 @@ |
|
|
|
import data_field_validation_doctype from '../fixtures/data_field_validation_doctype'; |
|
|
|
const doctype_name = data_field_validation_doctype.name; |
|
|
|
|
|
|
|
|
|
|
|
context('Data Field Input Validation in New Form', () => { |
|
|
|
before(() => { |
|
|
|
cy.login(); |
|
|
|
cy.visit('/app/website'); |
|
|
|
return cy.insert_doc('DocType', data_field_validation_doctype, true); |
|
|
|
}); |
|
|
|
|
|
|
|
function validateField(fieldname, invalid_value, valid_value) { |
|
|
|
// Invalid, should have has-error class |
|
|
|
cy.get_field(fieldname).type(invalid_value).blur(); |
|
|
|
cy.get(`.frappe-control[data-fieldname="${fieldname}"]`).should('have.class', 'has-error'); |
|
|
|
// Valid value, should not have has-error class |
|
|
|
cy.get_field(fieldname).clear().type(valid_value); |
|
|
|
cy.get(`.frappe-control[data-fieldname="${fieldname}"]`).should('not.have.class', 'has-error'); |
|
|
|
} |
|
|
|
|
|
|
|
describe('Data Field Options', () => { |
|
|
|
it('should validate email address', () => { |
|
|
|
cy.new_form(doctype_name); |
|
|
|
validateField('email', 'captian', 'hello@test.com'); |
|
|
|
}); |
|
|
|
|
|
|
|
it('should validate URL', () => { |
|
|
|
validateField('url', 'jkl', 'https://frappe.io'); |
|
|
|
}); |
|
|
|
|
|
|
|
it('should validate phone number', () => { |
|
|
|
validateField('phone', 'america', '89787878'); |
|
|
|
}); |
|
|
|
|
|
|
|
it('should validate name', () => { |
|
|
|
validateField('person_name', ' 777Hello', 'James Bond'); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |