Files
outline/shared/utils/parseCollectionSlug.test.ts
YouLL d551a1a10b feat: collection mentions (#8529)
* feat: init collection mention

* refactor: dedicated search helper function for collection mentions

* feat: add test for collection search function helper

* feat: parseCollectionSlug

* feat: isCollectionUrl

* feat: add collection mention to paste handler

* fix: update translation of mention keyboard shortcut

* fix: keyboard shortcut mention label

* fix: missing teamId in search helper functioN

* chore: update translations

---------

Co-authored-by: Tom Moor <tom@getoutline.com>
2025-03-03 19:03:27 -08:00

49 lines
1.3 KiB
TypeScript

import sharedEnv from "../env";
import parseCollectionSlug from "./parseCollectionSlug";
sharedEnv.URL = "https://app.outline.dev";
describe("#parseCollectionSlug", () => {
it("should work with fully qualified url", () => {
expect(
parseCollectionSlug("http://example.com/collection/test-ANzZwgv2RG")
).toEqual("test-ANzZwgv2RG");
});
it("should work with paths after document slug", () => {
expect(
parseCollectionSlug(
"http://mywiki.getoutline.com/collection/test-ANzZwgv2RG/recent"
)
).toEqual("test-ANzZwgv2RG");
});
it("should work with hash", () => {
expect(
parseCollectionSlug(
"http://mywiki.getoutline.com/collection/test-ANzZwgv2RG#state"
)
).toEqual("test-ANzZwgv2RG");
});
it("should work with subdomain qualified url", () => {
expect(
parseCollectionSlug(
"http://mywiki.getoutline.com/collection/test-ANzZwgv2RG"
)
).toEqual("test-ANzZwgv2RG");
});
it("should work with path", () => {
expect(parseCollectionSlug("/collection/test-ANzZwgv2RG")).toEqual(
"test-ANzZwgv2RG"
);
});
it("should work with path and hash", () => {
expect(parseCollectionSlug("/collection/test-ANzZwgv2RG#somehash")).toEqual(
"test-ANzZwgv2RG"
);
});
});