Skip to content

Commit

Permalink
Autotests: #6041 - Autotests replace file comparison for ket files on…
Browse files Browse the repository at this point in the history
…ly operations with valid helper functions verifyfileexport (#6290)

* refactoring

* fix

* fix

* updated file
  • Loading branch information
knadonenko authored Jan 20, 2025
1 parent 882f2ff commit 06267d3
Show file tree
Hide file tree
Showing 20 changed files with 261 additions and 922 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import {
openFileAndAddToCanvas,
openSettings,
pressButton,
receiveFileComparisonData,
saveToFile,
scrollToDownInSetting,
selectLayoutTool,
setBondLengthOptionUnit,
Expand All @@ -15,7 +13,10 @@ import {
takeEditorScreenshot,
waitForPageInit,
} from '@utils';
import { getKet } from '@utils/formats';
import {
FileType,
verifyFileExport,
} from '@utils/files/receiveFileComparisonData';

test('Open KET file with properties and check properties are saved in struct', async ({
page,
Expand Down Expand Up @@ -59,16 +60,11 @@ test('Save a structure with properties to KET format', async ({ page }) => {

await openFileAndAddToCanvas('KET/ket-with-properties.ket', page);

const expectedFile = await getKet(page);
await saveToFile('KET/ket-with-properties-expected.ket', expectedFile);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName: 'tests/test-data/KET/ket-with-properties-expected.ket',
});

expect(ketFile).toEqual(ketFileExpected);
await verifyFileExport(
page,
'KET/ket-with-properties-expected.ket',
FileType.KET,
);
});

test.describe('Ket files', () => {
Expand All @@ -94,20 +90,12 @@ test.describe('Ket files', () => {
await pressButton(page, 'Apply');
await selectLayoutTool(page);
await takeEditorScreenshot(page);
const expectedFile = await getKet(page);
await saveToFile(

await verifyFileExport(
page,
'KET/layout-with-catalyst-px-bond-lengh.ket',
expectedFile,
FileType.KET,
);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/layout-with-catalyst-px-bond-lengh.ket',
});

expect(ketFile).toEqual(ketFileExpected);
});

test('The Bond length setting with pt option is applied, click on layout and it should be save to KET specification', async ({
Expand All @@ -127,20 +115,12 @@ test.describe('Ket files', () => {
await pressButton(page, 'Apply');
await selectLayoutTool(page);
await takeEditorScreenshot(page);
const expectedFile = await getKet(page);
await saveToFile(

await verifyFileExport(
page,
'KET/layout-with-diagonally-arrow-pt-bond-lengh.ket',
expectedFile,
FileType.KET,
);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/layout-with-diagonally-arrow-pt-bond-lengh.ket',
});

expect(ketFile).toEqual(ketFileExpected);
});

test('The Bond length setting with inch option is applied, click on layout and it should be save to KET specification', async ({
Expand All @@ -160,20 +140,12 @@ test.describe('Ket files', () => {
await pressButton(page, 'Apply');
await selectLayoutTool(page);
await takeEditorScreenshot(page);
const expectedFile = await getKet(page);
await saveToFile(

await verifyFileExport(
page,
'KET/layout-with-long-molecule-inch-bond-lengh.ket',
expectedFile,
FileType.KET,
);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/layout-with-long-molecule-inch-bond-lengh.ket',
});

expect(ketFile).toEqual(ketFileExpected);
});

test('The Reaction component margin size setting with px option is applied, click on layout and it should be save to KET specification', async ({
Expand All @@ -194,20 +166,12 @@ test.describe('Ket files', () => {
await pressButton(page, 'OK');
await selectLayoutTool(page);
await takeEditorScreenshot(page);
const expectedFile = await getKet(page);
await saveToFile(

await verifyFileExport(
page,
'KET/layout-with-catalyst-px-margin-size.ket',
expectedFile,
FileType.KET,
);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/layout-with-catalyst-px-margin-size.ket',
});

expect(ketFile).toEqual(ketFileExpected);
});

test('The Reaction component margin size setting with pt option is applied, click on layout and it should be save to KET specification', async ({
Expand All @@ -228,20 +192,12 @@ test.describe('Ket files', () => {
await pressButton(page, 'OK');
await selectLayoutTool(page);
await takeEditorScreenshot(page);
const expectedFile = await getKet(page);
await saveToFile(

await verifyFileExport(
page,
'KET/layout-with-diagonally-arrow-pt-margin-size.ket',
expectedFile,
FileType.KET,
);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/layout-with-diagonally-arrow-pt-margin-size.ket',
});

expect(ketFile).toEqual(ketFileExpected);
});

test('The Reaction component margin size setting with cm option is applied, click on layout and it should be save to KET specification', async ({
Expand All @@ -262,20 +218,12 @@ test.describe('Ket files', () => {
await pressButton(page, 'OK');
await selectLayoutTool(page);
await takeEditorScreenshot(page);
const expectedFile = await getKet(page);
await saveToFile(

await verifyFileExport(
page,
'KET/layout-with-dif-elements-cm-margin-size.ket',
expectedFile,
FileType.KET,
);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/layout-with-dif-elements-cm-margin-size.ket',
});

expect(ketFile).toEqual(ketFileExpected);
});

test('The Reaction component margin size setting with inch option is applied, click on layout and it should be save to KET specification', async ({
Expand All @@ -296,20 +244,12 @@ test.describe('Ket files', () => {
await pressButton(page, 'OK');
await selectLayoutTool(page);
await takeEditorScreenshot(page);
const expectedFile = await getKet(page);
await saveToFile(

await verifyFileExport(
page,
'KET/layout-with-long-molecule-inch-margin-size.ket',
expectedFile,
FileType.KET,
);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/layout-with-long-molecule-inch-margin-size.ket',
});

expect(ketFile).toEqual(ketFileExpected);
});

test('Verify ACS Style setting, click on layout and it should be save to KET specification', async ({
Expand All @@ -326,20 +266,12 @@ test.describe('Ket files', () => {
await pressButton(page, 'OK');
await selectLayoutTool(page);
await takeEditorScreenshot(page);
const expectedFile = await getKet(page);
await saveToFile(

await verifyFileExport(
page,
'KET/layout-with-diagonally-arrow-acs-style.ket',
expectedFile,
FileType.KET,
);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/layout-with-diagonally-arrow-acs-style.ket',
});

expect(ketFile).toEqual(ketFileExpected);
});

test(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,15 @@ import {
import { drawReactionWithTwoBenzeneRings } from '@utils/canvas/drawStructures';
import {
clickOnFileFormatDropdown,
getKet,
getMolfile,
getRxn,
getSdf,
getSmiles,
} from '@utils/formats';
import {
FileType,
verifyFileExport,
} from '@utils/files/receiveFileComparisonData';

const RING_OFFSET = 150;
const ARROW_OFFSET = 20;
Expand Down Expand Up @@ -121,17 +124,11 @@ test.describe('Save files', () => {
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);
await verifyFileExport(
page,
'KET/ket-2934-to-compare-expected.ket',
FileType.KET,
);
});

test('Click and Save as *.smi file', async ({ page }) => {
Expand Down Expand Up @@ -427,20 +424,12 @@ test.describe('Open/Save/Paste files', () => {
page,
);

const expectedFile = await getKet(page);
await saveToFile(
await verifyFileExport(
page,
'KET/benzene-with-atom-list-and-all-atom-and-query-attributes-to-compare.ket',
expectedFile,
FileType.KET,
);

const { fileExpected: ketFileExpected, file: ketFile } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/benzene-with-atom-list-and-all-atom-and-query-attributes-to-compare.ket',
});

expect(ketFile).toEqual(ketFileExpected);
await takeEditorScreenshot(page);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,12 @@ import {
import { getAtomByIndex } from '@utils/canvas/atoms';
import { getBondByIndex } from '@utils/canvas/bonds';
import { getRotationHandleCoordinates } from '@utils/clicks/selectButtonByTitle';
import { getKet, getMolfile } from '@utils/formats';
import { getMolfile } from '@utils/formats';
import { pressUndoButton } from '@utils/macromolecules/topToolBar';
import {
FileType,
verifyFileExport,
} from '@utils/files/receiveFileComparisonData';

test.describe('Indigo Tools - Calculate CIP Tool', () => {
test.beforeEach(async ({ page }) => {
Expand Down Expand Up @@ -485,19 +489,12 @@ test.describe('Indigo Tools - Calculate CIP Tool', () => {
await waitForRender(page, async () => {
await selectTopPanelButton(TopPanelButton.Calculate, page);
});
const expectedFile = await getKet(page);
await saveToFile(

await verifyFileExport(
page,
'KET/structure-with-stereo-bonds-expected.ket',
expectedFile,
FileType.KET,
);
const { file: ketFile, fileExpected: ketFileExpected } =
await receiveFileComparisonData({
page,
expectedFileName:
'tests/test-data/KET/structure-with-stereo-bonds-expected.ket',
});

expect(ketFile).toEqual(ketFileExpected);
});

// TODO: It's unstable, skip for now
Expand Down
Loading

0 comments on commit 06267d3

Please sign in to comment.