UNPKG

@mistio/mist-form

Version:

A Webcomponent that renders a form defined by a JSONSchema & an optional UISchema spec

106 lines (91 loc) 2.63 kB
/* eslint-disable no-undef */ /* eslint-disable consistent-return */ describe('Unit Test Numbers', () => { // ignore chrome ResizeObserver error Cypress.on('uncaught:exception', e => { if (e.message.includes('ResizeObserver loop limit exceeded')) return false; }); it('Opens playground', () => { cy.visit('http://localhost:8000/demo/index.html'); }); it('Select subform', () => { cy.get('vaadin-tabs > vaadin-tab').then(items => { cy.wrap(items[4]).click().should('have.attr', 'selected'); }); }); it('Test Number field', () => { // press cancel button cy.get('#playground') .find('#number') .find('vaadin-number-field') .click() .click() .type('{selectAll}{backspace}'); cy.get('#playground') .find('#number') .find('vaadin-number-field') .should('have.attr', 'value', 'NaN'); // type in a number cy.get('#playground') .find('#number') .find('vaadin-number-field') .find('input') .click() .type('8'); cy.get('#playground') .find('#number') .find('vaadin-number-field') .should('have.attr', 'value', '8'); }); it('Test integer field', () => { // check if it is empty cy.get('#playground') .find('#integer') .find('vaadin-integer-field') .find('input', { includeShadowDom: false }) .invoke('val') .should(value => { expect(value).eq(''); }); // type -12 cy.get('#playground') .find('#integer') .find('vaadin-integer-field') .find('input') .click() .click() .type('-12'); // check that the value is correct cy.get('#playground') .find('#integer') .find('vaadin-integer-field') .find('input', { includeShadowDom: false }) .invoke('val') .should(value => { expect(value).eq('-12'); }); }); it('Test enum', () => { cy.get('#playground').find('#numberEnum').find('vaadin-select').click(); // click the second cy.get('vaadin-select-overlay').find('vaadin-item').eq(1).click(); cy.get('#playground') .find('#numberEnum') .find('vaadin-select') .find('vaadin-item') .should('have.attr', 'value', '2'); }); it('Test radio enum', () => { // click 3rd radio button cy.get('#playground') .find('#numberEnumRadio') .find('vaadin-radio-group') .find('vaadin-radio-button') .eq(2) .click(); cy.get('#playground') .find('#numberEnumRadio') .find('vaadin-radio-group') .should('have.attr', 'value', '3'); }); });