You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gristlabs_grist-core/test/nbrowser/FilteringBugs.ts

43 lines
1.5 KiB

import {assert, Key} from 'mocha-webdriver';
import * as gu from 'test/nbrowser/gristUtils';
import {setupTestSuite} from 'test/nbrowser/testUtils';
describe('FilteringBugs', function() {
this.timeout(20000);
const cleanup = setupTestSuite();
let session: gu.Session;
afterEach(() => gu.checkForErrors());
before(async function() {
session = await gu.session().login();
});
it('should not filter records edited from another view', async function() {
await session.tempDoc(cleanup, 'ExemptFromFilterBug.grist');
// Change column A of the first record from foo to bar; bar should still be
// visible, even though it's excluded by a filter.
await gu.getCell({section: 'TABLE2 Filtered', rowNum: 1, col: 'A'}).click();
await gu.sendKeys(Key.ENTER, Key.ARROW_DOWN, Key.ENTER);
await gu.waitForServer();
assert.deepEqual(
await gu.getVisibleGridCells({section: 'TABLE2 Filtered', col: 'A', rowNums: [1, 2, 3]}),
['bar', 'foo', '']
);
// With the same record selected, change column C in the linked card section.
await gu.getCell({section: 'TABLE2 Filtered', rowNum: 1, col: 'A'}).click();
await gu.getCardCell('C', 'TABLE2 Card').click();
await gu.sendKeys('2', Key.ENTER);
await gu.waitForServer();
// Check that the record is still visible in the first section. Previously, a
// regression caused it to be filtered out.
assert.deepEqual(
await gu.getVisibleGridCells({section: 'TABLE2 Filtered', col: 'A', rowNums: [1, 2, 3]}),
['bar', 'foo', '']
);
});
});