Example #1
0
 it('should be valid, touched & dirty ', async () => {
     await page.click('input');
     await page.waitForChanges();
     expect(element.classList.contains('dot-valid')).toBe(true);
     expect(element.classList.contains('dot-dirty')).toBe(true);
     expect(element.classList.contains('dot-touched')).toBe(true);
 });
Example #2
0
 it('should show invalid range validation message', async () => {
     element.setProperty('value', '2015-10-01');
     await input.press('2');
     await page.waitForChanges();
     const errorMessage = await page.find('.dot-field__error-meessage');
     expect(errorMessage.innerHTML).toBe('Invalid Date Range');
 });
Example #3
0
    it('should show Regex validation message', async () => {
        element.setProperty('regexCheck', '^[A-Za-z ]+$');
        element.setProperty('validationMessage', 'Invalid Address');

        await input.press('@');
        await page.waitForChanges();
        const errorMessage = await page.find('.dot-field__error-meessage');
        expect(errorMessage.innerHTML).toBe('Invalid Address');
    });
Example #4
0
 it('should be invalid, touched & dirty and the error msg should display', async () => {
     await page.click('input');
     await page.waitForChanges();
     // tslint:disable-next-line:max-line-length
     expect(element.outerHTML).toBe(`<dot-checkbox name=\"testName\" label=\"testLabel\" hint=\"testHint\" options=\"valueA|1,valueB|2,valueC|3\" value=\"1\" required-message=\"testErrorMsg\" required=\"true\" class=\"dot-required hydrated dot-invalid dot-dirty dot-touched\"><div class=\"dot-field__label\"><label for=\"testName\">testLabel</label><span class=\"dot-field__required-mark\">*</span></div><input class=\"dot-field__error\" type=\"checkbox\" id=\"1\" value=\"1\"><div class=\"dot-field__label\"><label for=\"1\">valueA</label></div><input class=\"dot-field__error\" type=\"checkbox\" id=\"2\" value=\"2\"><div class=\"dot-field__label\"><label for=\"2\">valueB</label></div><input class=\"dot-field__error\" type=\"checkbox\" id=\"3\" value=\"3\"><div class=\"dot-field__label\"><label for=\"3\">valueC</label></div><span class=\"dot-field__hint\">testHint</span><span class=\"dot-field__error-meessage\">testErrorMsg</span></dot-checkbox>`);
     expect(element.classList.contains('dot-invalid')).toBe(true);
     expect(element.classList.contains('dot-dirty')).toBe(true);
     expect(element.classList.contains('dot-touched')).toBe(true);
 });
Example #5
0
  return new Promise(async resolve => {
    const [ firstSelector, ...restSelectors ] = selectors;
    let parentElement = await page.$(firstSelector);

    for (const selector of restSelectors) {
      parentElement = await page.evaluateHandle(shadowSelectorFn, parentElement, selector) as any;
    }

    if (parentElement) { resolve(parentElement); }
  });
Example #6
0
    beforeEach(async () => {
        page = await newE2EPage({
            html: `
            <dot-textarea
                label='Address:'
                name='Address'
                value='Address'>
            </dot-textarea>`
        });

        element = await page.find('dot-textarea');
        input = await page.find('textarea');
    });
Example #7
0
    it('should send "submit" event', async () => {
        const expectedSubmit = {};
        const spy = await page.spyOnEvent('onSubmit');
        const saveBtn = await element.find('button[type="submit"]');

        fields.forEach((field) => {
            expectedSubmit[field.name] = field.value;
        });

        saveBtn.click();
        await page.waitForChanges();
        expect(spy).toHaveReceivedEventDetail(expectedSubmit);
    });
Example #8
0
 it('should render with hint', async () => {
     element.setProperty('hint', 'this is a hint');
     await page.waitForChanges();
     // tslint:disable-next-line:max-line-length
     const tagsRenderExpected = `<div class=\"dot-field__label\"><label for=\"Address\">Address:</label></div><textarea id=\"Address\" name=\"Address\"></textarea><span class=\"dot-field__hint\">this is a hint</span>`;
     expect(element.innerHTML).toBe(tagsRenderExpected);
 });
Example #9
0
    beforeEach(async () => {
        page = await newE2EPage();

        await page.setContent(`
        <dot-radio
            name="testRadio"
            label="testLabel"
            hint="testHint"
            options="valueA|1,valueB|2,valueC|3"
            value="2"
            required="true"
            required-message="testErrorMsg"
            >
        </dot-radio>`);
        element = await page.find('dot-radio');
    });
Example #10
0
    beforeEach(async () => {
        page = await newE2EPage();

        await page.setContent(`
        <dot-select
            name="testName"
            label="testLabel"
            hint="testHint"
            options="|,valueA|1,valueB|2"
            value="2"
            required-message="testErrorMsg"
            required="true"
            >
        </dot-select>`);
        element = await page.find('dot-select');
    });