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 });