84 lines
3.2 KiB
TypeScript
84 lines
3.2 KiB
TypeScript
|
|
import { getEnabledElement } from '@cornerstonejs/core';
|
||
|
|
import { getEnabledElement as OHIFgetEnabledElement } from '../state';
|
||
|
|
import { getViewportEnabledElement } from './getViewportEnabledElement';
|
||
|
|
|
||
|
|
jest.mock('@cornerstonejs/core', () => ({
|
||
|
|
getEnabledElement: jest.fn(),
|
||
|
|
}));
|
||
|
|
|
||
|
|
jest.mock('../state', () => ({
|
||
|
|
getEnabledElement: jest.fn(),
|
||
|
|
}));
|
||
|
|
|
||
|
|
describe('getViewportEnabledElement', () => {
|
||
|
|
beforeEach(() => {
|
||
|
|
jest.clearAllMocks();
|
||
|
|
});
|
||
|
|
|
||
|
|
it('should return enabled element when OHIF getEnabledElement returns element', () => {
|
||
|
|
const mockElement = document.createElement('div');
|
||
|
|
const mockEnabledElement = { viewport: 'test-viewport' };
|
||
|
|
|
||
|
|
(OHIFgetEnabledElement as jest.Mock).mockReturnValue({ element: mockElement });
|
||
|
|
(getEnabledElement as jest.Mock).mockReturnValue(mockEnabledElement);
|
||
|
|
|
||
|
|
const result = getViewportEnabledElement('test-viewport-id');
|
||
|
|
|
||
|
|
expect(OHIFgetEnabledElement).toHaveBeenCalledWith('test-viewport-id');
|
||
|
|
expect(getEnabledElement).toHaveBeenCalledWith(mockElement);
|
||
|
|
expect(result).toBe(mockEnabledElement);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('should return enabled element when OHIF getEnabledElement returns null', () => {
|
||
|
|
const mockEnabledElement = { viewport: 'test-viewport' };
|
||
|
|
|
||
|
|
(OHIFgetEnabledElement as jest.Mock).mockReturnValue(null);
|
||
|
|
(getEnabledElement as jest.Mock).mockReturnValue(mockEnabledElement);
|
||
|
|
|
||
|
|
const result = getViewportEnabledElement('test-viewport-id');
|
||
|
|
|
||
|
|
expect(OHIFgetEnabledElement).toHaveBeenCalledWith('test-viewport-id');
|
||
|
|
expect(getEnabledElement).toHaveBeenCalledWith(undefined);
|
||
|
|
expect(result).toBe(mockEnabledElement);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('should return enabled element when OHIF getEnabledElement returns object without element', () => {
|
||
|
|
const mockEnabledElement = { viewport: 'test-viewport' };
|
||
|
|
|
||
|
|
(OHIFgetEnabledElement as jest.Mock).mockReturnValue({});
|
||
|
|
(getEnabledElement as jest.Mock).mockReturnValue(mockEnabledElement);
|
||
|
|
|
||
|
|
const result = getViewportEnabledElement('test-viewport-id');
|
||
|
|
|
||
|
|
expect(OHIFgetEnabledElement).toHaveBeenCalledWith('test-viewport-id');
|
||
|
|
expect(getEnabledElement).toHaveBeenCalledWith(undefined);
|
||
|
|
expect(result).toBe(mockEnabledElement);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('should return null when cornerstone getEnabledElement returns null', () => {
|
||
|
|
const mockElement = document.createElement('div');
|
||
|
|
|
||
|
|
(OHIFgetEnabledElement as jest.Mock).mockReturnValue({ element: mockElement });
|
||
|
|
(getEnabledElement as jest.Mock).mockReturnValue(null);
|
||
|
|
|
||
|
|
const result = getViewportEnabledElement('test-viewport-id');
|
||
|
|
|
||
|
|
expect(OHIFgetEnabledElement).toHaveBeenCalledWith('test-viewport-id');
|
||
|
|
expect(getEnabledElement).toHaveBeenCalledWith(mockElement);
|
||
|
|
expect(result).toBe(null);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('should return undefined when cornerstone getEnabledElement returns undefined', () => {
|
||
|
|
const mockElement = document.createElement('div');
|
||
|
|
|
||
|
|
(OHIFgetEnabledElement as jest.Mock).mockReturnValue({ element: mockElement });
|
||
|
|
(getEnabledElement as jest.Mock).mockReturnValue(undefined);
|
||
|
|
|
||
|
|
const result = getViewportEnabledElement('test-viewport-id');
|
||
|
|
|
||
|
|
expect(OHIFgetEnabledElement).toHaveBeenCalledWith('test-viewport-id');
|
||
|
|
expect(getEnabledElement).toHaveBeenCalledWith(mockElement);
|
||
|
|
expect(result).toBe(undefined);
|
||
|
|
});
|
||
|
|
});
|