[Index Management] Forward port of the fix for indices table test in 7.16 (#115933)

This commit is contained in:
Yulia Čech 2021-10-21 17:22:46 +02:00 committed by GitHub
parent 729481ed59
commit 31e7428f49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 17 deletions

View file

@ -22,7 +22,7 @@ exports[`index table force merge button works from context menu 3`] = `"open"`;
exports[`index table open index button works from context menu 1`] = `"opening..."`;
exports[`index table open index button works from context menu 2`] = `"opening..."`;
exports[`index table open index button works from context menu 2`] = `"open"`;
exports[`index table refresh button works from context menu 1`] = `"refreshing..."`;

View file

@ -88,6 +88,14 @@ const snapshot = (rendered) => {
expect(rendered).toMatchSnapshot();
};
const names = (rendered) => {
return findTestSubject(rendered, 'indexTableIndexNameLink');
};
const namesText = (rendered) => {
return names(rendered).map((button) => button.text());
};
const openMenuAndClickButton = (rendered, rowIndex, buttonSelector) => {
// Select a row.
const checkboxes = findTestSubject(rendered, 'indexTableRowCheckbox');
@ -111,7 +119,8 @@ const testEditor = (rendered, buttonSelector, rowIndex = 0) => {
snapshot(findTestSubject(rendered, 'detailPanelTabSelected').text());
};
const testAction = (rendered, buttonSelector, rowIndex = 0) => {
const testAction = (rendered, buttonSelector, indexName = 'testy0') => {
const rowIndex = namesText(rendered).indexOf(indexName);
// This is leaking some implementation details about how Redux works. Not sure exactly what's going on
// but it looks like we're aware of how many Redux actions are dispatched in response to user interaction,
// so we "time" our assertion based on how many Redux actions we observe. This is brittle because it
@ -132,14 +141,6 @@ const testAction = (rendered, buttonSelector, rowIndex = 0) => {
snapshot(status(rendered, rowIndex));
};
const names = (rendered) => {
return findTestSubject(rendered, 'indexTableIndexNameLink');
};
const namesText = (rendered) => {
return names(rendered).map((button) => button.text());
};
const getActionMenuButtons = (rendered) => {
return findTestSubject(rendered, 'indexContextMenu')
.find('button')
@ -487,24 +488,23 @@ describe('index table', () => {
});
test('open index button works from context menu', async () => {
const rendered = mountWithIntl(component);
await runAllPromises();
rendered.update();
const modifiedIndices = indices.map((index) => {
return {
...index,
status: index.name === 'testy1' ? 'open' : index.status,
status: index.name === 'testy1' ? 'closed' : index.status,
};
});
server.respondWith(`${API_BASE_PATH}/indices/reload`, [
server.respondWith(`${API_BASE_PATH}/indices`, [
200,
{ 'Content-Type': 'application/json' },
JSON.stringify(modifiedIndices),
]);
testAction(rendered, 'openIndexMenuButton', 1);
const rendered = mountWithIntl(component);
await runAllPromises();
rendered.update();
testAction(rendered, 'openIndexMenuButton', 'testy1');
});
test('show settings button works from context menu', async () => {