Skip to content

Commit

Permalink
add FTR tests
Browse files Browse the repository at this point in the history
  • Loading branch information
pgayvallet committed Dec 8, 2020
1 parent db3acbc commit b290c33
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ const suggestionToOption = (suggestion: SearchSuggestion): EuiSelectableTemplate
icon: { type: icon },
suggestion: suggestedSearch,
meta: [{ text: description }],
'data-test-subj': `nav-search-option`,
};
};

Expand Down
5 changes: 5 additions & 0 deletions x-pack/test/functional/page_objects/navigational_search.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ export function NavigationalSearchProvider({ getService, getPageObjects }: FtrPr
}
}

async getFieldValue() {
const field = await testSubjects.find('nav-search-input');
return field.getAttribute('value');
}

async clearField() {
const field = await testSubjects.find('nav-search-input');
await field.clearValueWithKeyboard();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,47 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
expect(await browser.getCurrentUrl()).to.contain('discover');
});

describe('search suggestions', () => {
it('shows a suggestion when searching for a term matching a type', async () => {
await navigationalSearch.searchFor('dashboard');

let results = await navigationalSearch.getDisplayedResults();
expect(results[0].label).to.eql('type: dashboard');

await navigationalSearch.clickOnOption(0);
await navigationalSearch.waitForResultsLoaded();

const searchTerm = await navigationalSearch.getFieldValue();
expect(searchTerm).to.eql('type:dashboard');

results = await navigationalSearch.getDisplayedResults();
expect(results.map((result) => result.label)).to.eql([
'dashboard 1 (tag-2)',
'dashboard 2 (tag-3)',
'dashboard 3 (tag-1 and tag-3)',
]);
});
it('shows a suggestion when searching for a term matching a tag name', async () => {
await navigationalSearch.searchFor('tag-1');

let results = await navigationalSearch.getDisplayedResults();
expect(results[0].label).to.eql('tag: tag-1');

await navigationalSearch.clickOnOption(0);
await navigationalSearch.waitForResultsLoaded();

const searchTerm = await navigationalSearch.getFieldValue();
expect(searchTerm).to.eql('tag:tag-1');

results = await navigationalSearch.getDisplayedResults();
expect(results.map((result) => result.label)).to.eql([
'Visualization 1 (tag-1)',
'Visualization 3 (tag-1 + tag-3)',
'dashboard 3 (tag-1 and tag-3)',
]);
});
});

describe('advanced search syntax', () => {
it('allows to filter by type', async () => {
await navigationalSearch.searchFor('type:dashboard');
Expand Down

0 comments on commit b290c33

Please sign in to comment.