import { demoPayload } from '@/components/demo/demo-payload'; import { mountViewer, loadSession, loadViewer, unmountViewer } from '@/main'; import { nextTick } from 'vue'; describe('index tests', () => { const errorMessage = 'Please call `mountViewer` first'; beforeEach(async () => { await mountViewer(document.body, '1.0.0'); await loadViewer(); await nextTick(); }); afterEach(async () => { await unmountViewer(); }); it('should resolve loadViewer', async () => { await expect(loadViewer(demoPayload)).resolves.not.toThrow(errorMessage); }); it('should resolve loadSession 3crds url', async () => { await expect( loadSession('https://localhost/example.3crds'), ).resolves.not.toThrow(errorMessage); }); it('should resolve loadSession 3crms url', async () => { await expect( loadSession('https://localhost/example.3crms'), ).resolves.not.toThrow(errorMessage); }); it('should resolve loadSession 3crs url', async () => { await expect( loadSession('https://localhost/example.3crs'), ).resolves.not.toThrow(errorMessage); }); it('should reject loadSession invalid url', async () => { await expect(loadSession('')).rejects.toThrow('Invalid URL type'); }); });