it()

in spec/integrated/vnext-spec/selection-spec.js [91:149]


  it('select all should works as expected', function () {
    let baseSelectionConfig = {
      selection: {
        enabled: true,
      },
    };
    gridView = pgridFactory
      .create(_.extend(baseSelectionConfig, gridConfig))
      .gridView;

    return new Promise(resolve => gridView.render(resolve))
      .then(() => driver.once(gridView, 'didUpdate'))
      .then(() => {
        return driver.element('#container > .table-container .header tr');
      })
      .then(result => {
        driver.click(util.getCheckboxElFromThead(result, 0, 0));
        return driver.once(gridView, 'didUpdate');
      })
      .then(() => {
        return Promise.all([
          driver.element('#container > .table-container .header tr'),
          driver.element('#container > .table-container tbody tr[data-key]'),
        ]);
      })
      .then(result => {
        let checkboxHeaderEl = util.getCheckboxElFromThead(result[0], 0, 0);
        let headerAssertion = checkboxHeaderEl.is(':checked');

        expect(headerAssertion).to.be.true;
        _.each(result[1], el => {
          let checkboxBodyEl = util.getCheckboxElFromTbody($(el), 0, 0);
          let bodyAssertion = checkboxBodyEl.is(':checked');

          expect(bodyAssertion).to.be.true;
        });
      })
      .then(() => {
        return driver.element('#container > .table-container .header tr');
      })
      .then(result => {
        driver.click(util.getCheckboxElFromThead(result, 0, 0));
        return driver.once(gridView, 'didUpdate');
      })
      .then(() => {
        return Promise.all([
          driver.element('#container > .table-container .header tr'),
          driver.element('#container > .table-container tbody tr[data-key]'),
        ]);
      })
      .then(result => {
        let checkboxHeaderEl = util.getCheckboxElFromThead(result[0], 0, 0);
        let checkboxBodyEl = util.getCheckboxElFromTbody(result[1], 0, 0);
        let assertion = checkboxHeaderEl.is(':checked') || checkboxBodyEl.is(':checked');
        expect(assertion).to.be.false;
        return null;
      })
      .tapCatch(console.log);
  });