mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-12 11:17:01 +00:00
47 lines
1.8 KiB
TypeScript
47 lines
1.8 KiB
TypeScript
![]() |
import { module, test } from 'qunit';
|
||
|
import { setupRenderingTest } from 'ember-qunit';
|
||
|
import { render, triggerEvent } from '@ember/test-helpers';
|
||
|
import hbs from 'htmlbars-inline-precompile';
|
||
|
import { stubService } from '@datahub/utils/test-helpers/stub-service';
|
||
|
|
||
|
module('Integration | Component | dynamic-components/tooltip', function(hooks) {
|
||
|
setupRenderingTest(hooks);
|
||
|
|
||
|
test('it renders and behaves as expected', async function(assert) {
|
||
|
stubService('configurator', {
|
||
|
getConfig(): unknown {
|
||
|
return { appHelp: 'https://www.serebii.net/pokedex-swsh/pikachu/' };
|
||
|
}
|
||
|
});
|
||
|
|
||
|
const sampleRenderProps = {
|
||
|
name: 'dynamic-components/tooltip',
|
||
|
options: {
|
||
|
triggerComponent: {
|
||
|
name: 'dynamic-components/icon',
|
||
|
options: { icon: 'question-circle', prefix: 'far', className: 'pikachu-icon' }
|
||
|
},
|
||
|
className: 'pikachu',
|
||
|
triggerOn: 'hover',
|
||
|
contentComponents: [
|
||
|
{ name: 'dynamic-components/text', options: { text: 'Click here to learn more!' } },
|
||
|
{
|
||
|
name: 'dynamic-components/wiki-link',
|
||
|
options: { wikiKey: 'appHelp', className: 'pikachu-link' }
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
};
|
||
|
this.set('props', sampleRenderProps);
|
||
|
|
||
|
await render(hbs`{{component this.props.name options=this.props.options}}`);
|
||
|
assert.dom('.dynamic-tooltip').exists('Renders a dynamic tooltip');
|
||
|
assert.dom('.pikachu').exists('Gives us the correct custom class');
|
||
|
assert.dom('.pikachu-icon').exists('Renders the nested icon element');
|
||
|
|
||
|
await triggerEvent('.dynamic-tooltip', 'mouseenter');
|
||
|
assert.dom('.dynamic-tooltip__content .pikachu-link').exists('Renders the nested link');
|
||
|
assert.dom('.dynamic-tooltip__content').hasTextContaining('Click here to learn more!');
|
||
|
});
|
||
|
});
|