Move FileLink.test.ts

This commit is contained in:
Florian Scholdei
2020-10-06 10:27:50 +02:00
parent 68a6d09c14
commit 6baf759df9
2 changed files with 21 additions and 9 deletions

View File

@@ -22,10 +22,22 @@
* SOFTWARE.
*/
import { createLink } from "./FileTreeLeaf";
import { createRelativeLink, createFolderLink } from "./FileLink";
import { File } from "@scm-manager/ui-types";
describe("create link tests", () => {
describe("create relative link tests", () => {
it("should create relative link", () => {
expect(createRelativeLink("http://localhost:8081/scm/repo/scmadmin/scm-manager")).toBe(
"/scm/repo/scmadmin/scm-manager"
);
expect(createRelativeLink("ssh://_anonymous@repo.scm-manager.org:1234/repo/public/anonymous-access")).toBe(
"/repo/public/anonymous-access"
);
expect(createRelativeLink("ssh://server.local/project.git")).toBe("/project.git");
});
});
describe("create folder link tests", () => {
function dir(path: string): File {
return {
name: "dir",
@@ -40,13 +52,13 @@ describe("create link tests", () => {
};
}
it("should create link", () => {
expect(createLink("src", dir("main"))).toBe("src/main/");
expect(createLink("src", dir("/main"))).toBe("src/main/");
expect(createLink("src", dir("/main/"))).toBe("src/main/");
it("should create folder link", () => {
expect(createFolderLink("src", dir("main"))).toBe("src/main/");
expect(createFolderLink("src", dir("/main"))).toBe("src/main/");
expect(createFolderLink("src", dir("/main/"))).toBe("src/main/");
});
it("should return base url if the directory path is empty", () => {
expect(createLink("src", dir(""))).toBe("src/");
expect(createFolderLink("src", dir(""))).toBe("src/");
});
});

View File

@@ -46,12 +46,12 @@ const isLocalRepository = (repositoryUrl: string) => {
return host === window.location.hostname;
};
const createRelativeLink = (repositoryUrl: string) => {
export const createRelativeLink = (repositoryUrl: string) => {
const paths = repositoryUrl.split("/");
return "/" + paths.slice(3).join("/");
};
const createFolderLink = (base: string, file: File) => {
export const createFolderLink = (base: string, file: File) => {
let link = base;
if (file.path) {
let path = file.path;