Skip to content

Commit

Permalink
Add proper e2e + bugfix
Browse files Browse the repository at this point in the history
Signed-off-by: sitbubu <[email protected]>
  • Loading branch information
RoyiSitbon committed Feb 19, 2022
1 parent d5baf73 commit 9f0c57b
Show file tree
Hide file tree
Showing 6 changed files with 67 additions and 2 deletions.
3 changes: 3 additions & 0 deletions src/plugins/discover/public/mocks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ const createSetupContract = (): Setup => {
docViews: {
addDocView: jest.fn(),
},
docViewsLinks: {
addDocViewLink: jest.fn(),
},
};
return setupContract;
};
Expand Down
3 changes: 3 additions & 0 deletions src/plugins/discover/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,9 @@ export class DiscoverPlugin
docViews: {
addDocView: this.docViewsRegistry.addDocView.bind(this.docViewsRegistry),
},
docViewsLinks: {
addDocViewLink: this.docViewsLinksRegistry.addDocViewLink.bind(this.docViewsLinksRegistry),
},
};
}

Expand Down
1 change: 1 addition & 0 deletions test/plugin_functional/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
require.resolve('./test_suites/core_plugins'),
require.resolve('./test_suites/management'),
require.resolve('./test_suites/doc_views'),
require.resolve('./test_suites/doc_views_links'),
require.resolve('./test_suites/application_links'),
require.resolve('./test_suites/data_plugin'),
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ function MyHit(props: { index: string }) {
export class DocViewsLinksPlugin implements Plugin<void, void> {
public setup(core: CoreSetup, { discover }: { discover: DiscoverSetup }) {
discover.docViewsLinks.addDocViewLink({
href: 'http://locationHref',
href: 'http://some-url/',
order: 1,
label: 'href doc view link',
});

discover.docViewsLinks.addDocViewLink({
generateUrlFn: (props) => 'http://locationHref',
generateUrlFn: (props) => 'http://some-url/',
order: 2,
label: 'generateUrlFn doc view link',
});
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/

import expect from '@osd/expect';
import { PluginFunctionalProviderContext } from '../../services';

export default function ({ getService, getPageObjects }: PluginFunctionalProviderContext) {
const testSubjects = getService('testSubjects');
const find = getService('find');
const browser = getService('browser');
const PageObjects = getPageObjects(['common', 'discover', 'timePicker']);

describe('custom doc views links', function () {
beforeEach(async () => {
await PageObjects.common.navigateToApp('discover');
await PageObjects.timePicker.setDefaultAbsoluteRange();
await testSubjects.click('docTableExpandToggleColumn');
});

it('should show href doc views link', async () => {
const hrefLink = await find.byLinkText('href doc view link');
await find.byLinkText('generateUrlFn doc view link');
expect(await hrefLink.isDisplayed()).to.be(true);
});

it('should render href doc view link', async () => {
const hrefLink = await find.byLinkText('href doc view link');
await hrefLink.click();
expect(await browser.getCurrentUrl()).to.eql('http://some-url/');
});

it('should render react doc view', async () => {
const generateUrlFnLink = await find.byLinkText('generateUrlFn doc view link');
await generateUrlFnLink.click();
expect(await browser.getCurrentUrl()).to.eql('http://some-url/');
});
});
}
18 changes: 18 additions & 0 deletions test/plugin_functional/test_suites/doc_views_links/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/

import { PluginFunctionalProviderContext } from '../../services';

export default function ({ getService, loadTestFile }: PluginFunctionalProviderContext) {
const opensearchArchiver = getService('opensearchArchiver');

describe('doc views links', function () {
before(async () => {
await opensearchArchiver.loadIfNeeded('../functional/fixtures/opensearch_archiver/discover');
});

loadTestFile(require.resolve('./doc_views_links'));
});
}

0 comments on commit 9f0c57b

Please sign in to comment.