From 2a58771a1764e4290a8ec19838486f05007d373a Mon Sep 17 00:00:00 2001 From: mathuo <6710312+mathuo@users.noreply.github.com> Date: Mon, 14 Mar 2022 20:05:02 +0000 Subject: [PATCH] test: add test --- .../src/__tests__/api/groupPanelApi.spec.ts | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 packages/dockview/src/__tests__/api/groupPanelApi.spec.ts diff --git a/packages/dockview/src/__tests__/api/groupPanelApi.spec.ts b/packages/dockview/src/__tests__/api/groupPanelApi.spec.ts new file mode 100644 index 000000000..72bf39e6c --- /dev/null +++ b/packages/dockview/src/__tests__/api/groupPanelApi.spec.ts @@ -0,0 +1,78 @@ +import { IDockviewComponent, IGroupPanel } from '../..'; +import { DockviewPanelApiImpl, TitleEvent } from '../../api/groupPanelApi'; +import { GroupviewPanel } from '../../groupview/groupviewPanel'; + +describe('groupPanelApi', () => { + test('title', () => { + const groupPanel: Partial = { + id: 'test_id', + title: 'test_title', + }; + + const accessor: Partial = {}; + const groupViewPanel = new GroupviewPanel( + accessor, + '', + {} + ); + + const cut = new DockviewPanelApiImpl( + groupPanel, + groupViewPanel + ); + + let events: TitleEvent[] = []; + + const disposable = cut.onDidTitleChange((event) => { + events.push(event); + }); + + expect(events.length).toBe(0); + expect(cut.title).toBe('test_title'); + + cut.setTitle('test_title_2'); + expect(events.length).toBe(1); + expect(events[0]).toEqual({ title: 'test_title_2' }); + expect(cut.title).toBe('test_title'); // title should remain unchanged + + disposable.dispose(); + }); + + test('onDidGroupChange', () => { + const groupPanel: Partial = { + id: 'test_id', + }; + + const accessor: Partial = {}; + const groupViewPanel = new GroupviewPanel( + accessor, + '', + {} + ); + + const cut = new DockviewPanelApiImpl( + groupPanel, + groupViewPanel + ); + + let events = 0; + + const disposable = cut.onDidGroupChange(() => { + events++; + }); + + expect(events).toBe(0); + expect(cut.group).toBe(groupViewPanel); + + const groupViewPanel2 = new GroupviewPanel( + accessor, + '', + {} + ); + cut.group = groupViewPanel2; + expect(events).toBe(1); + expect(cut.group).toBe(groupViewPanel2); + + disposable.dispose(); + }); +});