Files
cosmos-explorer/src/Explorer/MostRecentActivity/MostRecentActivity.test.ts
Laurent Nguyen 23b2e59560 Migrate Most Recent activity local storage to App State persistence (#1967)
* Rewrite MostRecentActivity to leverage AppStatePersistenceUtility.

* Fix format. Update type enum.

* Migrate Item enum to string enum

* Fix unit tests

* Fix build issue
2024-09-20 08:26:58 +02:00

53 lines
1.3 KiB
TypeScript

import { clear, collectionWasOpened, getItems, Type } from "Explorer/MostRecentActivity/MostRecentActivity";
import { observable } from "knockout";
describe("MostRecentActivity", () => {
const accountName = "some account";
beforeEach(() => clear(accountName));
it("Has no items at first", () => {
expect(getItems(accountName)).toStrictEqual([]);
});
it("Can record collections being opened", () => {
const collectionId = "some collection";
const databaseId = "some database";
const collection = {
id: observable(collectionId),
databaseId,
};
collectionWasOpened(accountName, collection);
const activity = getItems(accountName);
expect(activity).toEqual([
expect.objectContaining({
collectionId,
databaseId,
}),
]);
});
it("Does not store duplicate entries", () => {
const collectionId = "some collection";
const databaseId = "some database";
const collection = {
id: observable(collectionId),
databaseId,
};
collectionWasOpened(accountName, collection);
collectionWasOpened(accountName, collection);
const activity = getItems(accountName);
expect(activity).toEqual([
expect.objectContaining({
type: Type.OpenCollection,
collectionId,
databaseId,
}),
]);
});
});