it()

in spec/integrated/vnext-spec/grid-view-api-spec.js [186:251]


  it('verify head rows function for gridView', function () {
    let gridConfig = {
      el: '#container',
      dataSource: {
        type: 'memory',
        data: memoryData,
        primaryKey: 'UserName',
      },
    };
    gridView = pgridFactory
      .create(gridConfig)
      .gridView;

    return new Promise(resolve => gridView.render(resolve))
      .then(() => driver.once(gridView, 'didUpdate'))
      .then(() => {
        expect(gridView.getHeadRows()[0]).to.be.equal('column-header-rows');
        return null;
      })
      .then(() => {
        gridView.setHeadRows([
          { html: '<div class="head-rows-html">head rows html</div>' },
        ]);
        return driver.once(gridView, 'didUpdate');
      })
      .then(() => {
        return driver.element('.table-container .header > tr > th > .head-rows-html');
      })
      .then(result => {
        expect(result.text()).to.be.equal('head rows html');
        return null;
      })
      .then(() => {
        gridView.setHeadRows([
          'column-header-rows',
        ]);
        gridView.prependHeadRows([
          { html: '<div class="prepend-head-rows-1">prepend head rows 1</div>' },
          { html: '<div class="prepend-head-rows-2">prepend head rows 2</div>' },
        ]);
        gridView.appendHeadRows([
          { html: '<div class="append-head-rows-1">append head rows 1</div>' },
          { html: '<div class="append-head-rows-2">append head rows 2</div>' },
        ]);
        return driver.once(gridView, 'didUpdate');
      })
      .then(() => {
        return Promise.all([
          driver.element('.header tr:nth-child(1) .prepend-head-rows-1'),
          driver.element('.header tr:nth-child(2) .prepend-head-rows-2'),
          driver.element('.header tr:nth-child(3) th'),
          driver.element('.header tr:nth-child(4) .append-head-rows-1'),
          driver.element('.header tr:nth-child(5) .append-head-rows-2'),
        ]);
      })
      .then(result => {
        expect(result[0].text()).to.be.equal('prepend head rows 1');
        expect(result[1].text()).to.be.equal('prepend head rows 2');
        let assertion = util.validateElementMatrix(result[2], expectedHeader);
        expect(assertion).to.be.true;
        expect(result[3].text()).to.be.equal('append head rows 1');
        expect(result[4].text()).to.be.equal('append head rows 2');
        return null;
      })
      .tapCatch(console.log);
  });