wisemapping-frontend/packages/mindplot/test/unit/EventsTestSuite.test.js

62 lines
1.8 KiB
JavaScript
Raw Normal View History

2021-12-24 20:26:38 +01:00
import Events from '../../src/components/Events';
describe('Events class suite', () => {
class TestClass extends Events {
getEvents() {
return this.$events;
}
removeEvents() {
this.$events = {};
}
}
const expectedChangeFn1 = () => 'change1';
const expectedChangeFn2 = () => 'change2';
const expectedLoadFn = () => 'loaded';
const myTestClass = new TestClass();
describe('addEventTest', () => {
afterAll(() => {
myTestClass.removeEvents();
});
test('Added event Change', () => {
expect(myTestClass.getEvents()).toEqual({});
myTestClass.addEvent('change', expectedChangeFn1);
});
test('Added event Change', () => {
expect(myTestClass.getEvents()).toEqual({ change: [expectedChangeFn1] });
myTestClass.addEvent('change', expectedChangeFn2);
});
test('Added event Load', () => {
expect(myTestClass.getEvents()).toEqual({ change: [expectedChangeFn1, expectedChangeFn2] });
myTestClass.addEvent('load', expectedLoadFn);
expect(myTestClass.getEvents()).toEqual({
change: [expectedChangeFn1, expectedChangeFn2],
load: [expectedLoadFn],
});
});
});
describe('removeEventTest', () => {
afterAll(() => {
myTestClass.removeEvents();
});
test('Added 2 event change', () => {
expect(myTestClass.getEvents()).toEqual({});
myTestClass.addEvent('change', expectedChangeFn1);
myTestClass.addEvent('change', expectedChangeFn2);
});
test('Remove 1 event change', () => {
expect(myTestClass.getEvents()).toEqual({ change: [expectedChangeFn1, expectedChangeFn2] });
myTestClass.removeEvent('change', expectedChangeFn1);
expect(myTestClass.getEvents()).toEqual({ change: [expectedChangeFn2] });
});
});
});