You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-08-07 23:02:56 +03:00
Live location sharing - Aggregate beacon locations on beacons (#2268)
* add timestamp sorting util Signed-off-by: Kerry Archibald <kerrya@element.io> * basic wiring Signed-off-by: Kerry Archibald <kerrya@element.io> * quick handle for redacted beacons Signed-off-by: Kerry Archibald <kerrya@element.io> * remove fdescribe Signed-off-by: Kerry Archibald <kerrya@element.io> * test adding locations Signed-off-by: Kerry Archibald <kerrya@element.io> * tidy comments Signed-off-by: Kerry Archibald <kerrya@element.io> * test client Signed-off-by: Kerry Archibald <kerrya@element.io> * fix monitorLiveness for update Signed-off-by: Kerry Archibald <kerrya@element.io> * lint Signed-off-by: Kerry Archibald <kerrya@element.io>
This commit is contained in:
@@ -10,8 +10,11 @@ import {
|
||||
prevString,
|
||||
simpleRetryOperation,
|
||||
stringToBase,
|
||||
sortEventsByLatestContentTimestamp,
|
||||
} from "../../src/utils";
|
||||
import { logger } from "../../src/logger";
|
||||
import { mkMessage } from "../test-utils/test-utils";
|
||||
import { makeBeaconEvent } from "../test-utils/beacon";
|
||||
|
||||
// TODO: Fix types throughout
|
||||
|
||||
@@ -506,4 +509,30 @@ describe("utils", function() {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('sortEventsByLatestContentTimestamp', () => {
|
||||
const roomId = '!room:server';
|
||||
const userId = '@user:server';
|
||||
const eventWithoutContentTimestamp = mkMessage({ room: roomId, user: userId, event: true });
|
||||
// m.beacon events have timestamp in content
|
||||
const beaconEvent1 = makeBeaconEvent(userId, { timestamp: 1648804528557 });
|
||||
const beaconEvent2 = makeBeaconEvent(userId, { timestamp: 1648804528558 });
|
||||
const beaconEvent3 = makeBeaconEvent(userId, { timestamp: 1648804528000 });
|
||||
const beaconEvent4 = makeBeaconEvent(userId, { timestamp: 0 });
|
||||
|
||||
it('sorts events with timestamps as later than events without', () => {
|
||||
expect(
|
||||
[beaconEvent4, eventWithoutContentTimestamp, beaconEvent1]
|
||||
.sort(utils.sortEventsByLatestContentTimestamp),
|
||||
).toEqual([
|
||||
beaconEvent1, beaconEvent4, eventWithoutContentTimestamp,
|
||||
]);
|
||||
});
|
||||
|
||||
it('sorts by content timestamps correctly', () => {
|
||||
expect(
|
||||
[beaconEvent1, beaconEvent2, beaconEvent3].sort(sortEventsByLatestContentTimestamp),
|
||||
).toEqual([beaconEvent2, beaconEvent1, beaconEvent3]);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user