From 356c22b391943a2c3def355b673423c0008bbced Mon Sep 17 00:00:00 2001 From: Ezequiel-Vega Date: Thu, 10 Mar 2022 12:26:24 -0300 Subject: [PATCH] Added test helper --- packages/mindplot/test/unit/import/Helper.ts | 21 +++++++++++++++++++ .../unit/import/TextImporterTestSuite.test.ts | 18 ++++------------ 2 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 packages/mindplot/test/unit/import/Helper.ts diff --git a/packages/mindplot/test/unit/import/Helper.ts b/packages/mindplot/test/unit/import/Helper.ts new file mode 100644 index 00000000..2ed9bb81 --- /dev/null +++ b/packages/mindplot/test/unit/import/Helper.ts @@ -0,0 +1,21 @@ +/* eslint-disable import/no-extraneous-dependencies */ +/* eslint-disable import/prefer-default-export */ +import path from 'path'; +import { expect } from '@jest/globals'; +import Importer from '../../../src/components/import/Importer'; +import XMLSerializerFactory from '../../../src/components/persistence/XMLSerializerFactory'; +import { parseXMLFile } from '../export/Helper'; + +export const exporterAssert = async (testName: string, importer: Importer) => { + const actualMindmap = await importer.import(testName, ''); + + // Load mindmap DOM.. + const mindmapPath = path.resolve(__dirname, `./expected/${testName}.wxml`); + const mindmapMapDocument = parseXMLFile(mindmapPath, 'text/xml'); + + // Convert to mindmap... + const serializer = XMLSerializerFactory.createInstanceFromDocument(mindmapMapDocument); + const mindmapExpect = serializer.loadFromDom(mindmapMapDocument, testName); + + expect(actualMindmap).toEqual(mindmapExpect); +}; diff --git a/packages/mindplot/test/unit/import/TextImporterTestSuite.test.ts b/packages/mindplot/test/unit/import/TextImporterTestSuite.test.ts index e31baff0..0ade08d5 100644 --- a/packages/mindplot/test/unit/import/TextImporterTestSuite.test.ts +++ b/packages/mindplot/test/unit/import/TextImporterTestSuite.test.ts @@ -1,18 +1,17 @@ +/* eslint-disable import/no-extraneous-dependencies */ import path from 'path'; import fs from 'fs'; -// eslint-disable-next-line import/no-extraneous-dependencies import { test } from '@jest/globals'; +import { exporterAssert } from './Helper'; import { parseXMLFile } from '../export/Helper'; import FreemindMap from '../../../src/components/export/freemind/Map'; import TextImporterFactory from '../../../src/components/import/TextImporterFactory'; -import XMLSerializerFactory from '../../../src/components/persistence/XMLSerializerFactory'; -import Mindmap from '../../../src/components/model/Mindmap'; const testNames = fs .readdirSync(path.resolve(__dirname, './input/')) .map((filename: string) => filename.split('.')[0]); -describe('MMa import test execution', () => { +describe('MM import test execution', () => { test.each(testNames)('Importing %p suite', async (testName: string) => { // load freemap... const freemapPath = path.resolve(__dirname, `./input/${testName}.mm`); @@ -20,17 +19,8 @@ describe('MMa import test execution', () => { const freemap: FreemindMap = new FreemindMap().loadFromDom(mapDocument); - // Load mindmap DOM.. - const mindmapPath = path.resolve(__dirname, `./expected/${testName}.wxml`); - const mindmapMapDocument = parseXMLFile(mindmapPath, 'text/xml'); - - // Convert to mindmap... - const serializer = XMLSerializerFactory.createInstanceFromDocument(mindmapMapDocument); - const mindmap: Mindmap = serializer.loadFromDom(mapDocument, testName); - const importer = TextImporterFactory.create('mm', freemap); - const mindmapImport: Mindmap = await importer.import(testName, ''); - expect(mindmapImport).toStrictEqual(mindmap); + await exporterAssert(testName, importer); }); });