vue3-dnd
Version:
Drag and Drop for Vue Composition API
67 lines (66 loc) • 3.44 kB
JavaScript
;
var _sourceConnector = require("../SourceConnector");
var _vitest = require("vitest");
(0, _vitest).describe("SourceConnector", function() {
var backend;
var connector;
(0, _vitest).beforeEach(function() {
backend = {
setup: _vitest.vi.fn(),
teardown: _vitest.vi.fn(),
connectDragSource: _vitest.vi.fn(),
connectDragPreview: _vitest.vi.fn(),
connectDropTarget: _vitest.vi.fn(),
profile: _vitest.vi.fn()
};
connector = new _sourceConnector.SourceConnector(backend);
});
(0, _vitest).it("unsubscribes drag source when clearing handler id", function() {
var unsubscribeDragSource = _vitest.vi.fn();
backend.connectDragSource.mockReturnValueOnce(unsubscribeDragSource);
connector.receiveHandlerId("test");
connector.hooks.dragSource()({});
(0, _vitest).expect(backend.connectDragSource).toHaveBeenCalled();
(0, _vitest).expect(unsubscribeDragSource).not.toHaveBeenCalled();
backend.connectDragSource.mockClear();
connector.receiveHandlerId(null);
(0, _vitest).expect(backend.connectDragSource).not.toHaveBeenCalled();
(0, _vitest).expect(unsubscribeDragSource).toHaveBeenCalled();
});
(0, _vitest).it("unsubscribes drag preview when hook is called without node", function() {
var unsubscribeDragSource = _vitest.vi.fn();
backend.connectDragSource.mockReturnValueOnce(unsubscribeDragSource);
connector.receiveHandlerId("test");
connector.hooks.dragSource()({});
(0, _vitest).expect(backend.connectDragSource).toHaveBeenCalled();
(0, _vitest).expect(unsubscribeDragSource).not.toHaveBeenCalled();
backend.connectDragSource.mockClear();
connector.hooks.dragSource()(null);
(0, _vitest).expect(backend.connectDragSource).not.toHaveBeenCalled();
(0, _vitest).expect(unsubscribeDragSource).toHaveBeenCalled();
});
(0, _vitest).it("unsubscribes drag preview when clearing handler id", function() {
var unsubscribeDragPreview = _vitest.vi.fn();
backend.connectDragPreview.mockReturnValueOnce(unsubscribeDragPreview);
connector.receiveHandlerId("test");
connector.hooks.dragPreview()({});
(0, _vitest).expect(backend.connectDragPreview).toHaveBeenCalled();
(0, _vitest).expect(unsubscribeDragPreview).not.toHaveBeenCalled();
backend.connectDragPreview.mockClear();
connector.receiveHandlerId(null);
(0, _vitest).expect(backend.connectDragPreview).not.toHaveBeenCalled();
(0, _vitest).expect(unsubscribeDragPreview).toHaveBeenCalled();
});
(0, _vitest).it("unsubscribes drag preview when hook called without node", function() {
var unsubscribeDragPreview = _vitest.vi.fn();
backend.connectDragPreview.mockReturnValueOnce(unsubscribeDragPreview);
connector.receiveHandlerId("test");
connector.hooks.dragPreview()({});
(0, _vitest).expect(backend.connectDragPreview).toHaveBeenCalled();
(0, _vitest).expect(unsubscribeDragPreview).not.toHaveBeenCalled();
backend.connectDragPreview.mockClear();
connector.hooks.dragPreview()(null);
(0, _vitest).expect(backend.connectDragPreview).not.toHaveBeenCalled();
(0, _vitest).expect(unsubscribeDragPreview).toHaveBeenCalled();
});
});