in spec/integrated/vnext-spec/grid-view-api-spec.js [97:184]
it('verify selection function for gridView', function () {
let gridConfig = {
el: '#container',
dataSource: {
type: 'memory',
data: memoryData,
primaryKey: 'UserName',
},
selection: {
enabled: true,
},
};
gridView = pgridFactory
.create(gridConfig)
.gridView;
return new Promise(resolve => gridView.render(resolve))
.then(() => driver.once(gridView, 'didUpdate'))
.then(() => {
gridView.selectRow('scottketchum');
return driver.once(gridView, 'didUpdate');
})
.then(() => {
return driver.element('#container > .table-container tbody tr[data-key]');
})
.then(result => {
let checkboxEl = util.getCheckboxElFromTbody(result, 1, 0);
let assertion = checkboxEl.is(':checked');
expect(assertion).to.be.true;
return null;
})
.then(() => {
let expectedSelectedKey = 'scottketchum';
expect(gridView.selectedKeys()[0]).to.be.equal(expectedSelectedKey);
let selectedItems = gridView.selectedItems();
expect(selectedItems.length).to.be.equal(1);
expect(selectedItems[0].UserName).to.be.equal(expectedSelectedKey);
return null;
})
.then(() => {
gridView.deselectRow('scottketchum');
return driver.once(gridView, 'didUpdate');
})
.then(() => {
return driver.element('#container > .table-container tbody tr[data-key]');
})
.then(result => {
let checkboxEl = util.getCheckboxElFromTbody(result, 1, 0);
let assertion = checkboxEl.is(':checked');
expect(assertion).to.be.false;
return null;
})
.then(() => {
gridView.selectAll();
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.true;
return null;
})
.then(() => {
gridView.deselectAll();
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);
});