github.com/GoogleCloudPlatform/testgrid@v0.0.174/web/test/testgrid-grid.test.ts (about)

     1  import {
     2    html,
     3    fixture,
     4    defineCE,
     5    unsafeStatic,
     6    expect,
     7    waitUntil,
     8  } from '@open-wc/testing';
     9  
    10  import { TestgridGrid } from '../src/testgrid-grid';
    11  
    12  describe('Testgrid Grid page', () => {
    13    let element: TestgridGrid;
    14    beforeEach(async () => {
    15      // Need to wrap an element to apply its properties (ex. @customElement)
    16      // See https://open-wc.org/docs/testing/helpers/#test-a-custom-class-with-properties
    17      const tagName = defineCE(class extends TestgridGrid {});
    18      const tag = unsafeStatic(tagName);
    19      element = await fixture(html`<${tag} .dashboardName=${'fake-dashboard-1'} .tabName=${'fake-tab-3'}></${tag}>`);
    20    });
    21  
    22    // TODO - add accessibility tests
    23    it('renders the grid data', async () => {
    24      await waitUntil(
    25        () => element.shadowRoot!.querySelector('testgrid-grid-row'),
    26        'Grid display did not render grid data',
    27        {
    28          timeout: 4000,
    29        },
    30      );
    31      expect(element).to.exist;
    32      expect(element.shadowRoot?.children.length).to.be.equal(3, 'ShadowRoot children differ');
    33      expect(element.tabGridRows.length).to.be.equal(2, 'Number of rows differ');
    34      expect(element.tabGridHeaders?.headers.length).to.be.equal(5, 'Number of columns differ');
    35    });
    36  });