Charlie Tran 843a6c5bbb
feat(frontend): update datahub-web client UI code (#1806)
* Releases updated version of datahub-web client UI code

* Fix typo in yarn lock

* Change yarn lock to match yarn registry directories

* Previous commit missed some paths

* Even more changes to yarnlock missing in previous commit

* Include codegen file for typings

* Add files to get parity for datahub-web and current OS datahub-midtier

* Add in typo fix from previous commit - change to proper license

* Implement proper OS fix for person entity picture url

* Workarounds for open source DH issues

* Fixes institutional memory api and removes unopensourced tabs for datasets

* Fixes search dataset deprecation and user search issue as a result of changes

* Remove internal only options in the avatar menu
2020-08-26 15:44:50 -07:00

67 lines
2.5 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/header', function(hooks) {
setupRenderingTest(hooks);
test('it renders and behaves as expected', async function(assert) {
stubService('configurator', {
getConfig(): unknown {
return { appHelp: 'https://stardewvalleywiki.com/Stardew_Valley_Wiki' };
}
});
const sampleRenderProps = {
name: 'dynamic-components/header',
options: {
className: 'mining',
title: 'Gotta mine em all!',
contentComponents: [
{
name: 'dynamic-components/text',
options: {
text: 'Mining tutorial'
}
},
{
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 how pikachu became a stardew valley gamer!' }
},
{
name: 'dynamic-components/wiki-link',
options: { wikiKey: 'appHelp', className: 'pikachu-miner-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('.dynamic-header').exists('Renders a dynamic header');
assert.dom('.mining').exists('Gives us the correct custom class');
assert.dom('.pikachu-miner-link').exists('Gives us the correct nested custom class');
assert.dom('.pikachu-icon').exists('Renders the nested icon element');
assert.dom('.dynamic-header__title').hasTextContaining('Gotta mine em all!');
await triggerEvent('.dynamic-tooltip', 'mouseenter');
assert.dom('.dynamic-tooltip__content .pikachu-miner-link').exists('Renders the nested link');
assert.dom('.dynamic-header__content').hasTextContaining('Mining tutorial');
});
});