mirror of
https://github.com/GNS3/gns3-web-ui.git
synced 2025-05-11 13:03:05 +00:00
71 lines
1.8 KiB
TypeScript
71 lines
1.8 KiB
TypeScript
|
|
import { TestSVGCanvas } from "../testing";
|
|
import { Node } from "../models/node";
|
|
import { Label } from "../models/label";
|
|
import { CssFixer } from "../helpers/css-fixer";
|
|
import { FontFixer } from "../helpers/font-fixer";
|
|
import { NodeWidget } from "./node";
|
|
|
|
|
|
describe('NodesWidget', () => {
|
|
let svg: TestSVGCanvas;
|
|
let widget: NodeWidget;
|
|
|
|
beforeEach(() => {
|
|
svg = new TestSVGCanvas();
|
|
widget = new NodeWidget(new CssFixer(), new FontFixer());
|
|
});
|
|
|
|
afterEach(() => {
|
|
svg.destroy();
|
|
});
|
|
|
|
describe('draggable behaviour', () => {
|
|
let node: Node;
|
|
const tryToDrag = () => {
|
|
const drew = svg.canvas.selectAll<SVGGElement, Node>('g.node');
|
|
const drewNode = drew.nodes()[0];
|
|
|
|
drewNode.dispatchEvent(
|
|
new MouseEvent('mousedown', {
|
|
clientX: 150, clientY: 250, relatedTarget: drewNode,
|
|
screenY: 1024, screenX: 1024, view: window
|
|
})
|
|
);
|
|
|
|
window.dispatchEvent(new MouseEvent('mousemove', {clientX: 300, clientY: 300}));
|
|
window.dispatchEvent(new MouseEvent('mouseup', {clientX: 300, clientY: 300, view: window}));
|
|
};
|
|
|
|
beforeEach(() => {
|
|
node = new Node();
|
|
node.x = 100;
|
|
node.y = 200;
|
|
node.width = 100;
|
|
node.height = 100;
|
|
node.label = new Label();
|
|
});
|
|
|
|
// it('should be draggable when enabled', () => {
|
|
// widget.setDraggingEnabled(true);
|
|
// widget.draw(svg.canvas);
|
|
|
|
// tryToDrag();
|
|
|
|
// expect(node.x).toEqual(250);
|
|
// expect(node.y).toEqual(250);
|
|
// });
|
|
|
|
// it('should be not draggable when disabled', () => {
|
|
// widget.setDraggingEnabled(false);
|
|
// widget.draw(svg.canvas);
|
|
|
|
// tryToDrag();
|
|
|
|
// expect(node.x).toEqual(100);
|
|
// expect(node.y).toEqual(200);
|
|
// });
|
|
|
|
});
|
|
});
|