TabsAndPanelsController specs, add missinrg panel scenario

This commit is contained in:
Gaetan Craig-Riou
2023-03-20 10:37:46 +11:00
parent 6809198c96
commit 6eb52aa540

View File

@@ -5,7 +5,7 @@
import { Application } from 'stimulus';
import tabs_and_panels_controller from '../../../app/webpacker/controllers/tabs_and_panels_controller';
describe('EnterprisePanelController', () => {
describe('TabsAndPanelsController', () => {
beforeAll(() => {
const application = Application.start();
application.register('tabs-and-panels', tabs_and_panels_controller);
@@ -59,6 +59,28 @@ describe('EnterprisePanelController', () => {
ka.click();
expect(ka.classList.contains('selected')).toBe(true);
});
describe("when panel doesn't exist", () => {
beforeEach(() => {
document.body.innerHTML = `
<div data-controller="tabs-and-panels" data-tabs-and-panels-class-name-value="selected">
<a id="peek" href="#" data-action="tabs-and-panels#changeActivePanel tabs-and-panels#changeActiveTab" class="selected" data-tabs-and-panels-target="tab">Peek</a>
<a id="ka" href="#" data-action="tabs-and-panels#changeActivePanel tabs-and-panels#changeActiveTab" data-tabs-and-panels-target="tab">Ka</a>
<a id="boo" href="#" data-action="tabs-and-panels#changeActivePanel tabs-and-panels#changeActiveTab" data-tabs-and-panels-target="tab">Boo</a>
<div id="peek_panel" data-tabs-and-panels-target="panel default">Peek me</div>
<div id="boo_panel" data-tabs-and-panels-target="panel">Boo three</div>
</div>`;
});
it('displays the current panel', () => {
const peekPanel = document.getElementById('peek_panel');
ka.click();
expect(peekPanel.style.display).toBe('block');
})
})
})
describe('when anchor is specified in the url', () => {