chore: fix test

This commit is contained in:
mathuo 2024-08-16 18:54:33 +01:00
parent 77bccb3f69
commit 4d71775804
No known key found for this signature in database
GPG Key ID: C6EEDEFD6CA07281
2 changed files with 10 additions and 30 deletions

View File

@ -1,19 +1,16 @@
import { DockviewApi } from '../../../../api/component.api';
import { Watermark } from '../../../../dockview/components/watermark/watermark';
import { fromPartial } from '@total-typescript/shoehorn';
describe('watermark', () => {
test('that the group is closed when the close button is clicked', () => {
const cut = new Watermark();
const mockApi = jest.fn<Partial<DockviewApi>, any[]>(() => {
return {
removeGroup: jest.fn(),
};
const api = fromPartial<DockviewApi>({
removeGroup: jest.fn(),
});
const api = <DockviewApi>new mockApi();
const group = jest.fn() as any;
cut.init({ containerApi: api });
cut.init({ containerApi: api, group });
const closeEl = cut.element.querySelector('.close-action')!;

View File

@ -5,8 +5,7 @@ import {
import { addDisposableListener } from '../../../events';
import { toggleClass } from '../../../dom';
import { CompositeDisposable } from '../../../lifecycle';
import { DockviewGroupPanel } from '../../dockviewGroupPanel';
import { PanelUpdateEvent } from '../../../panel/types';
import { IDockviewGroupPanel } from '../../dockviewGroupPanel';
import { createCloseButton } from '../../../svg';
import { DockviewApi } from '../../../api/component.api';
@ -15,7 +14,7 @@ export class Watermark
implements IWatermarkRenderer
{
private _element: HTMLElement;
private _group: DockviewGroupPanel | undefined;
private _group: IDockviewGroupPanel | undefined;
private _api: DockviewApi | undefined;
get element(): HTMLElement {
@ -52,8 +51,9 @@ export class Watermark
title.appendChild(actionsContainer);
this.addDisposables(
addDisposableListener(closeAnchor, 'click', (ev) => {
ev.preventDefault();
addDisposableListener(closeAnchor, 'click', (event: MouseEvent) => {
event.preventDefault();
if (this._group) {
this._api?.removeGroup(this._group);
}
@ -61,29 +61,12 @@ export class Watermark
);
}
update(_event: PanelUpdateEvent): void {
// noop
}
focus(): void {
// noop
}
layout(_width: number, _height: number): void {
// noop
}
init(_params: WatermarkRendererInitParameters): void {
this._api = _params.containerApi;
this._group = _params.group;
this.render();
}
dispose(): void {
super.dispose();
}
private render(): void {
const isOneGroup = !!(this._api && this._api.size <= 1);
toggleClass(this.element, 'has-actions', isOneGroup);