-
Notifications
You must be signed in to change notification settings - Fork 187
/
Copy pathsave-file.spec.ts
90 lines (72 loc) · 2.5 KB
/
save-file.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/* eslint-disable no-magic-numbers */
import { test, expect } from '@playwright/test';
import { drawBenzeneRing, receiveFileComparisonData, saveToFile } from '@utils';
import { drawReactionWithTwoBenzeneRings } from '@utils/canvas/drawStructures';
import { getKet, getMolfile, getRxn } from '@utils/formats';
const RING_OFFSET = 150;
const ARROW_OFFSET = 20;
const ARROW_LENGTH = 100;
test('Save file - Save *.rxn file', async ({ page }) => {
/**
* Test case: EPMLSOPKET-1849
* Description: Reaction is saved correctly in .rxn file
*/
await page.goto('');
await drawReactionWithTwoBenzeneRings(
page,
RING_OFFSET,
ARROW_OFFSET,
ARROW_LENGTH,
);
const expectedFile = await getRxn(page, 'v2000');
await saveToFile('rxn-1849-to-compare-expectedV2000.rxn', expectedFile);
const METADATA_STRING_INDEX = [2, 7, 25];
const { fileExpected: rxnFileExpected, file: rxnFile } =
await receiveFileComparisonData({
page,
expectedFileName: 'tests/test-data/rxn-1849-to-compare-expectedV2000.rxn',
metaDataIndexes: METADATA_STRING_INDEX,
fileFormat: 'v2000',
});
expect(rxnFile).toEqual(rxnFileExpected);
});
test('Save file - Save *.mol file', async ({ page }) => {
/**
* Test case: EPMLSOPKET-1848
* Description: Structure (benzine ring) is saved correctly to .mol format
*/
await page.goto('');
await drawBenzeneRing(page);
const expectedFile = await getMolfile(page, 'v2000');
await saveToFile('mol-1848-to-compare-expectedV2000.mol', expectedFile);
const METADATA_STRING_INDEX = [1];
const { fileExpected: molFileExpected, file: molFile } =
await receiveFileComparisonData({
page,
expectedFileName: 'tests/test-data/mol-1848-to-compare-expectedV2000.mol',
fileFormat: 'v2000',
metaDataIndexes: METADATA_STRING_INDEX,
});
expect(molFile).toEqual(molFileExpected);
});
test('Save file - Save *.ket file', async ({ page }) => {
/**
* Test case: EPMLSOPKET-2934
* Description: Sctuctures are saved correctly in .ket file
*/
await page.goto('');
await drawReactionWithTwoBenzeneRings(
page,
RING_OFFSET,
ARROW_OFFSET,
ARROW_LENGTH,
);
const expectedFile = await getKet(page);
await saveToFile('KET/ket-2934-to-compare-expected.ket', expectedFile);
const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName: 'tests/test-data/KET/ket-2934-to-compare-expected.ket',
});
expect(ketFile).toEqual(ketFileExpected);
});