#708 apply strictier linting rules (#717)

* #708 apply strictier linting rules and fix simple eslint bugs

* #708 fix eslint errors relate to promise

* #708 fix eslint import/no-extraneous-dependencies

* #708 fix eslint errors of react-hook

* #708 enable eslint check for typescript

---------

Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local>
This commit is contained in:
lethemanh
2026-04-01 22:15:10 +07:00
committed by GitHub
parent 2bff6aae78
commit cadfa70e60
321 changed files with 27452 additions and 27600 deletions
@@ -1,76 +1,76 @@
import { parseMessage } from "@/websocket/messaging/parseMessage";
import { WS_INBOUND_EVENTS } from "@/websocket/protocols";
import { parseMessage } from '@/websocket/messaging/parseMessage'
import { WS_INBOUND_EVENTS } from '@/websocket/protocols'
describe("parseMessage", () => {
it("should return empty set for non-object messages", () => {
const result1 = parseMessage(null);
const result2 = parseMessage("string");
const result3 = parseMessage(123);
describe('parseMessage', () => {
it('should return empty set for non-object messages', () => {
const result1 = parseMessage(null)
const result2 = parseMessage('string')
const result3 = parseMessage(123)
expect(result1.calendarsToRefresh).toEqual(new Set<string>());
expect(result2.calendarsToRefresh).toEqual(new Set<string>());
expect(result3.calendarsToRefresh).toEqual(new Set<string>());
});
expect(result1.calendarsToRefresh).toEqual(new Set<string>())
expect(result2.calendarsToRefresh).toEqual(new Set<string>())
expect(result3.calendarsToRefresh).toEqual(new Set<string>())
})
it("should handle registered event", () => {
it('should handle registered event', () => {
const message = {
[WS_INBOUND_EVENTS.CLIENT_REGISTERED]: [
"/calendars/cal1/entry1",
"/calendars/cal2/entry2",
],
};
'/calendars/cal1/entry1',
'/calendars/cal2/entry2'
]
}
const result = parseMessage(message);
const result = parseMessage(message)
expect(result.calendarsToRefresh).toContain("/calendars/cal1/entry1");
expect(result.calendarsToRefresh).toContain("/calendars/cal2/entry2");
expect(result.calendarsToRefresh.size).toBe(2);
});
expect(result.calendarsToRefresh).toContain('/calendars/cal1/entry1')
expect(result.calendarsToRefresh).toContain('/calendars/cal2/entry2')
expect(result.calendarsToRefresh.size).toBe(2)
})
it("should handle unregistered event", () => {
it('should handle unregistered event', () => {
const message = {
[WS_INBOUND_EVENTS.CLIENT_UNREGISTERED]: ["/calendars/cal1/entry1"],
};
[WS_INBOUND_EVENTS.CLIENT_UNREGISTERED]: ['/calendars/cal1/entry1']
}
const result = parseMessage(message);
const result = parseMessage(message)
expect(result.calendarsToHide).toContain("/calendars/cal1/entry1");
});
expect(result.calendarsToHide).toContain('/calendars/cal1/entry1')
})
it("should handle calendar path updates", () => {
it('should handle calendar path updates', () => {
const message = {
"/calendars/cal1/entry1": { updated: true },
};
'/calendars/cal1/entry1': { updated: true }
}
const result = parseMessage(message);
const result = parseMessage(message)
expect(result.calendarsToRefresh).toContain("/calendars/cal1/entry1");
expect(result.calendarsToRefresh.size).toBe(1);
});
expect(result.calendarsToRefresh).toContain('/calendars/cal1/entry1')
expect(result.calendarsToRefresh.size).toBe(1)
})
it("should parse multiple calendar paths", () => {
it('should parse multiple calendar paths', () => {
const message = {
"/calendars/cal1/entry1": {},
"/calendars/cal2/entry2": {},
};
'/calendars/cal1/entry1': {},
'/calendars/cal2/entry2': {}
}
const result = parseMessage(message);
const result = parseMessage(message)
expect(result.calendarsToRefresh.size).toBe(2);
expect(result.calendarsToRefresh).toContain("/calendars/cal1/entry1");
expect(result.calendarsToRefresh).toContain("/calendars/cal2/entry2");
});
expect(result.calendarsToRefresh.size).toBe(2)
expect(result.calendarsToRefresh).toContain('/calendars/cal1/entry1')
expect(result.calendarsToRefresh).toContain('/calendars/cal2/entry2')
})
it("should handle multiple event types in single message", () => {
it('should handle multiple event types in single message', () => {
const message = {
[WS_INBOUND_EVENTS.CLIENT_REGISTERED]: ["/calendars/cal1/entry1"],
[WS_INBOUND_EVENTS.CLIENT_UNREGISTERED]: ["/calendars/cal2/entry2"],
"/calendars/cal1/entry1": {},
};
[WS_INBOUND_EVENTS.CLIENT_REGISTERED]: ['/calendars/cal1/entry1'],
[WS_INBOUND_EVENTS.CLIENT_UNREGISTERED]: ['/calendars/cal2/entry2'],
'/calendars/cal1/entry1': {}
}
const result = parseMessage(message);
const result = parseMessage(message)
expect(result.calendarsToRefresh.size).toBe(1);
expect(result.calendarsToRefresh).toContain("/calendars/cal1/entry1");
});
});
expect(result.calendarsToRefresh.size).toBe(1)
expect(result.calendarsToRefresh).toContain('/calendars/cal1/entry1')
})
})