Add icon to topic.
@ -1,7 +1,5 @@
|
|||||||
/// <reference types="cypress" />
|
/// <reference types="cypress" />
|
||||||
|
|
||||||
import { css } from 'cypress/types/jquery';
|
|
||||||
|
|
||||||
describe('Relationship Topics', () => {
|
describe('Relationship Topics', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
// Remove storage for autosave ...
|
// Remove storage for autosave ...
|
||||||
@ -11,9 +9,10 @@ describe('Relationship Topics', () => {
|
|||||||
|
|
||||||
it('Add Relationship', () => {
|
it('Add Relationship', () => {
|
||||||
// Create new relationship ...
|
// Create new relationship ...
|
||||||
cy.contains('Features').click({ force: true });
|
cy.focusTopicByText('Features');
|
||||||
cy.get(`[aria-label="Add Relationship"]`).click({ multiple: true });
|
cy.onClickToolbarButton('Add Relationship');
|
||||||
cy.onFocusTopicByText('Try it Now!');
|
|
||||||
|
cy.focusTopicByText('Try it Now!');
|
||||||
|
|
||||||
cy.get('[test-id="11-15-relationship"]').as('rel');
|
cy.get('[test-id="11-15-relationship"]').as('rel');
|
||||||
cy.get('@rel').click({ force: true });
|
cy.get('@rel').click({ force: true });
|
||||||
@ -28,9 +27,9 @@ describe('Relationship Topics', () => {
|
|||||||
|
|
||||||
it('Delete Relationship', () => {
|
it('Delete Relationship', () => {
|
||||||
// Add new relationship ...
|
// Add new relationship ...
|
||||||
cy.contains('Features').first().click({ force: true });
|
cy.focusTopicByText('Features');
|
||||||
cy.get(`[aria-label="Add Relationship"]`).first().click();
|
cy.onClickToolbarButton('Add Relationship');
|
||||||
cy.contains('Try it Now!').first().click();
|
cy.focusTopicByText('Try it Now!');
|
||||||
|
|
||||||
// Delete it ...
|
// Delete it ...
|
||||||
cy.get('[test-id="11-15-relationship"]').as('rel');
|
cy.get('[test-id="11-15-relationship"]').as('rel');
|
||||||
@ -43,15 +42,15 @@ describe('Relationship Topics', () => {
|
|||||||
cy.matchImageSnapshot('delete relationship');
|
cy.matchImageSnapshot('delete relationship');
|
||||||
|
|
||||||
// Undo relationship ...
|
// Undo relationship ...
|
||||||
cy.get('[aria-label^="Undo ').eq(1).click();
|
cy.triggerUndo();
|
||||||
cy.get('@rel').should('exist');
|
cy.get('@rel').should('exist');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Change Control Point', () => {
|
it('Change Control Point', () => {
|
||||||
// Create new relationship ...
|
// Create new relationship ...
|
||||||
cy.onFocusTopicByText('Features');
|
cy.focusTopicByText('Features');
|
||||||
cy.get(`[aria-label="Add Relationship"]`).click({ multiple: true });
|
cy.onClickToolbarButton('Add Relationship');
|
||||||
cy.contains('Try it Now!').click();
|
cy.focusTopicByText('Try it Now!');
|
||||||
|
|
||||||
// Select relationship ...
|
// Select relationship ...
|
||||||
cy.get('[test-id="11-15-relationship"]').as('rel');
|
cy.get('[test-id="11-15-relationship"]').as('rel');
|
||||||
@ -71,8 +70,8 @@ describe('Relationship Topics', () => {
|
|||||||
cy.matchImageSnapshot('move ctl pont 1');
|
cy.matchImageSnapshot('move ctl pont 1');
|
||||||
|
|
||||||
// Test undo and redo ...
|
// Test undo and redo ...
|
||||||
cy.get('[aria-label^="Undo ').eq(1).click();
|
cy.triggerUndo();
|
||||||
cy.get('[aria-label^="Undo ').eq(1).click();
|
cy.triggerUndo();
|
||||||
cy.get('@rel').should('exist');
|
cy.get('@rel').should('exist');
|
||||||
cy.matchImageSnapshot('rel ctl undo');
|
cy.matchImageSnapshot('rel ctl undo');
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
/// <reference types="cypress" />
|
/// <reference types="cypress" />
|
||||||
describe('Edit Topic', () => {
|
describe('Topic Copy and Paste Suite', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
// Remove storage for autosave ...
|
// Remove storage for autosave ...
|
||||||
cy.visit('/editor.html');
|
cy.visit('/editor.html');
|
||||||
cy.waitEditorLoaded();
|
cy.waitEditorLoaded();
|
||||||
cy.onFocusTopicById(2);
|
cy.focusTopicById(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Copy and Paste', () => {
|
it('Copy and Paste', () => {
|
@ -1,5 +1,5 @@
|
|||||||
/// <reference types="cypress" />
|
/// <reference types="cypress" />
|
||||||
describe('Change topic position', () => {
|
describe('Topic Drag and Drop', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
// Remove storage for autosave ...
|
// Remove storage for autosave ...
|
||||||
cy.visit('/editor.html');
|
cy.visit('/editor.html');
|
@ -1,27 +1,29 @@
|
|||||||
/// <reference types="cypress" />
|
/// <reference types="cypress" />
|
||||||
describe('Edit Topic', () => {
|
describe('Topic Font Suite', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
// Remove storage for autosave ...
|
// Remove storage for autosave ...
|
||||||
cy.visit('/editor.html');
|
cy.visit('/editor.html');
|
||||||
cy.waitEditorLoaded();
|
cy.waitEditorLoaded();
|
||||||
cy.get('[test-id=1]').click();
|
|
||||||
|
cy.focusTopicById(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Open Font Shape Panel', () => {
|
it('Open Font Shape Panel', () => {
|
||||||
cy.get(`[aria-label="Topic Style"]`).first().trigger('mouseover');
|
cy.onMouseOverToolbarButton('Font Style');
|
||||||
cy.matchImageSnapshot('fontShapePanel');
|
cy.matchImageSnapshot('fontShapePanel');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Change Main Topic Text', () => {
|
it('Change Main Topic Text', () => {
|
||||||
cy.get('body').type('New Title Main Topic{enter}');
|
cy.get('body').type('New Title Main Topic{enter}');
|
||||||
cy.get('[test-id=1] > text > tspan').should('have.text', 'New Title Main Topic');
|
cy.get('[test-id=1] > text > tspan').should('have.text', 'New Title Main Topic');
|
||||||
cy.onFocusTopicByText('Mind Mapping');
|
cy.focusTopicByText('Mind Mapping');
|
||||||
cy.matchImageSnapshot('changeMainTopicText');
|
cy.matchImageSnapshot('changeMainTopicText');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Change Font Size', () => {
|
it('Change Font Size', () => {
|
||||||
// Go to the minimal size.
|
// Go to the minimal size.
|
||||||
cy.get('[aria-label="Font Style"]').first().trigger('mouseover');
|
cy.onMouseOverToolbarButton('Font Style');
|
||||||
|
|
||||||
cy.get('[aria-label="Smaller"]').as('smaller');
|
cy.get('[aria-label="Smaller"]').as('smaller');
|
||||||
cy.get('@smaller').eq(1).click();
|
cy.get('@smaller').eq(1).click();
|
||||||
cy.get('@smaller').eq(1).click();
|
cy.get('@smaller').eq(1).click();
|
||||||
@ -48,7 +50,7 @@ describe('Edit Topic', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Change Font To Italic', () => {
|
it('Change Font To Italic', () => {
|
||||||
cy.get('[aria-label="Font Style"]').first().trigger('mouseover');
|
cy.onMouseOverToolbarButton('Font Style');
|
||||||
cy.get('[aria-label^="Italic ').first().click();
|
cy.get('[aria-label^="Italic ').first().click();
|
||||||
|
|
||||||
cy.get('[test-id=1] > text').invoke('attr', 'font-style').should('eq', 'italic');
|
cy.get('[test-id=1] > text').invoke('attr', 'font-style').should('eq', 'italic');
|
||||||
@ -58,7 +60,7 @@ describe('Edit Topic', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Change Font to Bold', () => {
|
it('Change Font to Bold', () => {
|
||||||
cy.get(`[aria-label="Font Style"]`).first().trigger('mouseover');
|
cy.onMouseOverToolbarButton('Font Style');
|
||||||
cy.get('[aria-label^="Bold ').first().click();
|
cy.get('[aria-label^="Bold ').first().click();
|
||||||
|
|
||||||
cy.get('[test-id=1] > text').invoke('attr', 'font-weight').should('eq', 'normal');
|
cy.get('[test-id=1] > text').invoke('attr', 'font-weight').should('eq', 'normal');
|
||||||
@ -68,13 +70,13 @@ describe('Edit Topic', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Change Font Color', () => {
|
it('Change Font Color', () => {
|
||||||
cy.get('[aria-label="Font Style"]').eq(1).trigger('mouseover');
|
cy.onMouseOverToolbarButton('Font Style');
|
||||||
cy.get('[aria-label="Color"]').eq(1).click();
|
cy.get('[aria-label="Color"]').eq(1).click();
|
||||||
cy.get('[title="#cc0000"]').click({ force: true });
|
cy.get('[title="#cc0000"]').click({ force: true });
|
||||||
|
|
||||||
cy.get('[test-id=1] > text').invoke('attr', 'fill').should('eq', '#cc0000');
|
cy.get('[test-id=1] > text').invoke('attr', 'fill').should('eq', '#cc0000');
|
||||||
|
|
||||||
cy.onFocusTopicByText('Mind Mapping');
|
cy.focusTopicByText('Mind Mapping');
|
||||||
cy.matchImageSnapshot('changeFontColor');
|
cy.matchImageSnapshot('changeFontColor');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
20
packages/editor/cypress/e2e/topicIcon.cy.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/// <reference types="cypress" />
|
||||||
|
describe('Topic Icon Suite', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.visit('/editor.html');
|
||||||
|
cy.waitEditorLoaded();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Open panel', () => {
|
||||||
|
cy.onClickToolbarButton('Add Icon');
|
||||||
|
cy.matchImageSnapshot('icons-pannel');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Add new icon', () => {
|
||||||
|
cy.focusTopicById(3);
|
||||||
|
cy.onClickToolbarButton('Add Icon');
|
||||||
|
|
||||||
|
cy.get('[aria-label="grinning"]').click();
|
||||||
|
cy.matchImageSnapshot('add-new-icon');
|
||||||
|
});
|
||||||
|
});
|
@ -5,7 +5,7 @@ describe('Node manager', () => {
|
|||||||
cy.waitEditorLoaded();
|
cy.waitEditorLoaded();
|
||||||
|
|
||||||
// Select root node ...
|
// Select root node ...
|
||||||
cy.onFocusTopicByText('Mind Mapping');
|
cy.focusTopicByText('Mind Mapping');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('shortcut add sibling node', () => {
|
it('shortcut add sibling node', () => {
|
||||||
@ -18,15 +18,15 @@ describe('Node manager', () => {
|
|||||||
cy.get('body').type('{insert}').type('Child 1 mind Mapping rocks!!').type('{enter}');
|
cy.get('body').type('{insert}').type('Child 1 mind Mapping rocks!!').type('{enter}');
|
||||||
cy.get('body').type('{enter}').type('Child 2 mind Mapping rocks!!').type('{enter}');
|
cy.get('body').type('{enter}').type('Child 2 mind Mapping rocks!!').type('{enter}');
|
||||||
|
|
||||||
cy.get('[test-id=36] > text > tspan').should('exist');
|
cy.focusTopicById(36);
|
||||||
cy.get('[test-id=37] > text > tspan').should('exist');
|
cy.focusTopicById(37);
|
||||||
|
|
||||||
cy.matchImageSnapshot('addChildNodeSortcut');
|
cy.matchImageSnapshot('addChildNodeSortcut');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Delete topic', () => {
|
it('Delete topic', () => {
|
||||||
cy.get('body').type('{enter}').type('Mind Mapping rocks!!').type('{enter}');
|
cy.get('body').type('{enter}').type('Mind Mapping rocks!!').type('{enter}');
|
||||||
cy.onFocusTopicById(36);
|
cy.focusTopicById(36);
|
||||||
cy.get('body').type('{del}');
|
cy.get('body').type('{del}');
|
||||||
|
|
||||||
cy.get('[test-id=37]').should('not.exist');
|
cy.get('[test-id=37]').should('not.exist');
|
||||||
@ -36,19 +36,19 @@ describe('Node manager', () => {
|
|||||||
|
|
||||||
it('undo changes', () => {
|
it('undo changes', () => {
|
||||||
cy.get('body').type('{enter}').type('Mind Mapping rocks!!').type('{enter}');
|
cy.get('body').type('{enter}').type('Mind Mapping rocks!!').type('{enter}');
|
||||||
cy.get('[data-testid="UndoOutlinedIcon"]').click();
|
cy.triggerUndo();
|
||||||
cy.get('[test-id=36] > text > tspan').should('exist');
|
cy.focusTopicById(36);
|
||||||
|
|
||||||
cy.matchImageSnapshot('undoChange');
|
cy.matchImageSnapshot('undoChange');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('redo changes', () => {
|
it('redo changes', () => {
|
||||||
cy.get('body').type('{enter}').type('Mind Mapping rocks!!').type('{enter}');
|
cy.get('body').type('{enter}').type('Mind Mapping rocks!!').type('{enter}');
|
||||||
cy.get('[data-testid="UndoOutlinedIcon"]').click();
|
cy.triggerUndo();
|
||||||
cy.get('[test-id=36] > text > tspan').should('exist');
|
cy.focusTopicById(36);
|
||||||
|
|
||||||
cy.get('[data-testid="RedoOutlinedIcon"]').click();
|
cy.triggerRedo();
|
||||||
cy.get('[test-id=36] > text > tspan').should('exist');
|
cy.focusTopicById(36);
|
||||||
|
|
||||||
cy.matchImageSnapshot('redoChange');
|
cy.matchImageSnapshot('redoChange');
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/// <reference types="cypress" />
|
/// <reference types="cypress" />
|
||||||
describe('Change Topic shape', () => {
|
describe('Topic Shape Suite', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
cy.visit('/editor.html');
|
cy.visit('/editor.html');
|
||||||
|
|
||||||
@ -7,16 +7,16 @@ describe('Change Topic shape', () => {
|
|||||||
cy.waitEditorLoaded();
|
cy.waitEditorLoaded();
|
||||||
|
|
||||||
// Select one node ...
|
// Select one node ...
|
||||||
cy.contains('Try it Now!').click();
|
cy.focusTopicByText('Try it Now!');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('open shape', () => {
|
it('open shape', () => {
|
||||||
cy.get(`[aria-label="Topic Style"]`).first().trigger('mouseover');
|
cy.onMouseOverToolbarButton('Topic Style');
|
||||||
cy.matchImageSnapshot('topicShapePanel');
|
cy.matchImageSnapshot('topicShapePanel');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('change to square shape', () => {
|
it('change to square shape', () => {
|
||||||
cy.get(`[aria-label="Topic Style"]`).first().trigger('mouseover');
|
cy.onMouseOverToolbarButton('Topic Style');
|
||||||
cy.get(`[aria-label="Rectangle shape"]`).first().click();
|
cy.get(`[aria-label="Rectangle shape"]`).first().click();
|
||||||
|
|
||||||
cy.get('[test-id=11] > rect')
|
cy.get('[test-id=11] > rect')
|
||||||
@ -26,14 +26,14 @@ describe('Change Topic shape', () => {
|
|||||||
.should('be.a', 'number')
|
.should('be.a', 'number')
|
||||||
.should('eq', 0);
|
.should('eq', 0);
|
||||||
|
|
||||||
cy.contains('Mind Mapping').click({ force: true });
|
cy.focusTopicByText('Mind Mapping');
|
||||||
cy.matchImageSnapshot('changeToSquareShape');
|
cy.matchImageSnapshot('changeToSquareShape');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('change to rounded rectangle', () => {
|
it('change to rounded rectangle', () => {
|
||||||
cy.contains('Mind Mapping').click();
|
cy.focusTopicByText('Mind Mapping');
|
||||||
|
|
||||||
cy.get(`[aria-label="Topic Style"]`).first().trigger('mouseover');
|
cy.onMouseOverToolbarButton('Topic Style');
|
||||||
cy.get(`[aria-label="Rounded shape"]`).first().click();
|
cy.get(`[aria-label="Rounded shape"]`).first().click();
|
||||||
|
|
||||||
// Todo: Check how to validate this. Difference when it run in docker vs test:integration
|
// Todo: Check how to validate this. Difference when it run in docker vs test:integration
|
||||||
@ -50,24 +50,22 @@ describe('Change Topic shape', () => {
|
|||||||
.should('be.a', 'number')
|
.should('be.a', 'number')
|
||||||
.should('be.lt', 5);
|
.should('be.lt', 5);
|
||||||
|
|
||||||
cy.contains('Mind Mapping').click({ force: true });
|
cy.focusTopicByText('Mind Mapping');
|
||||||
cy.matchImageSnapshot('changeToRoundedRectangle');
|
cy.matchImageSnapshot('changeToRoundedRectangle');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('change to line', () => {
|
it('change to line', () => {
|
||||||
cy.contains('Try it Now!').click();
|
cy.onMouseOverToolbarButton('Topic Style');
|
||||||
|
|
||||||
cy.get(`[aria-label="Topic Style"]`).first().trigger('mouseover');
|
|
||||||
cy.get(`[aria-label="Line shape"]`).first().click();
|
cy.get(`[aria-label="Line shape"]`).first().click();
|
||||||
|
|
||||||
cy.contains('Mind Mapping').click({ force: true });
|
cy.focusTopicByText('Mind Mapping');
|
||||||
cy.matchImageSnapshot('changeToLine');
|
cy.matchImageSnapshot('changeToLine');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('change to ellipse shape', () => {
|
it('change to ellipse shape', () => {
|
||||||
cy.contains('Productivity').click();
|
cy.focusTopicByText('Productivity');
|
||||||
|
cy.onMouseOverToolbarButton('Topic Style');
|
||||||
|
|
||||||
cy.get(`[aria-label="Topic Style"]`).first().trigger('mouseover');
|
|
||||||
cy.get(`[aria-label="Ellipse shape"]`).first().click();
|
cy.get(`[aria-label="Ellipse shape"]`).first().click();
|
||||||
|
|
||||||
// Todo: Check how to validate this. Difference when it run in docker vs test:integration
|
// Todo: Check how to validate this. Difference when it run in docker vs test:integration
|
||||||
@ -84,7 +82,7 @@ describe('Change Topic shape', () => {
|
|||||||
.should('be.a', 'number')
|
.should('be.a', 'number')
|
||||||
.should('be.lt', 15);
|
.should('be.lt', 15);
|
||||||
|
|
||||||
cy.contains('Mind Mapping').click({ force: true });
|
cy.focusTopicByText('Mind Mapping');
|
||||||
cy.matchImageSnapshot('changeToEllipseShape');
|
cy.matchImageSnapshot('changeToEllipseShape');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 98 KiB |
@ -1,7 +1,25 @@
|
|||||||
|
/* eslint-disable @typescript-eslint/no-namespace */
|
||||||
/// <reference types="cypress" />
|
/// <reference types="cypress" />
|
||||||
|
|
||||||
import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command';
|
import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command';
|
||||||
|
|
||||||
|
declare global {
|
||||||
|
namespace Cypress {
|
||||||
|
interface Chainable {
|
||||||
|
waitForLoad(): void;
|
||||||
|
waitEditorLoaded(): void;
|
||||||
|
imageSnaphots(): void;
|
||||||
|
|
||||||
|
focusTopicByText(value: string): void;
|
||||||
|
focusTopicById(id: number): void;
|
||||||
|
|
||||||
|
onMouseOverToolbarButton(value: 'Topic Style' | 'Font Style'): void;
|
||||||
|
onClickToolbarButton(value: 'Add Relationship' | 'Add Icon'): void;
|
||||||
|
|
||||||
|
triggerUndo(): void;
|
||||||
|
triggerRedo(): void;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// make matchImageSnapshot() call the real implementation only if CYPRESS_imageSnaphots is set
|
// make matchImageSnapshot() call the real implementation only if CYPRESS_imageSnaphots is set
|
||||||
// otherwise it calls a noop
|
// otherwise it calls a noop
|
||||||
if (Cypress.env('imageSnaphots')) {
|
if (Cypress.env('imageSnaphots')) {
|
||||||
@ -34,10 +52,26 @@ Cypress.Commands.add('waitForLoad', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Mindmap commands ...
|
// Mindmap commands ...
|
||||||
Cypress.Commands.add('onFocusTopicById', (id: number) => {
|
Cypress.Commands.add('focusTopicById', (id: number) => {
|
||||||
cy.get(`[test-id=${id}]`).click();
|
cy.get(`[test-id=${id}]`).click();
|
||||||
});
|
});
|
||||||
|
|
||||||
Cypress.Commands.add('onFocusTopicByText', (text: string) => {
|
Cypress.Commands.add('focusTopicByText', (text: string) => {
|
||||||
cy.contains(text).click({ force: true });
|
cy.contains(text).click({ force: true });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Cypress.Commands.add('onMouseOverToolbarButton', (button: 'Topic Style' | 'Font Style') => {
|
||||||
|
cy.get(`[aria-label="${button}"]`).first().trigger('mouseover');
|
||||||
|
});
|
||||||
|
|
||||||
|
Cypress.Commands.add('onClickToolbarButton', (button: 'Add Relationship' | 'Add Icon') => {
|
||||||
|
cy.get(`[aria-label="${button}"]`).click({ multiple: true, force: true });
|
||||||
|
});
|
||||||
|
|
||||||
|
Cypress.Commands.add('triggerUndo', () => {
|
||||||
|
cy.get('[aria-label^="Undo ').eq(1).click();
|
||||||
|
});
|
||||||
|
|
||||||
|
Cypress.Commands.add('triggerRedo', () => {
|
||||||
|
cy.get('[aria-label^="Redo ').eq(1).click();
|
||||||
|
});
|
||||||
|