add mockup for content classes

This commit is contained in:
Maren Süwer
2018-10-15 16:45:54 +02:00
parent af81f239e1
commit c23fa319a0
6 changed files with 181 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
// @flow
import React from "react";
import { translate } from "react-i18next";
import { apiClient } from "@scm-manager/ui-components";
type Props = {
t: string => string
};
type State = {
contentType: string
};
class Content extends React.Component<Props, State> {
constructor(props: Props) {
super(props);
this.state = {
contentType: ""
};
}
componentDidMount() {}
render() {
return null;
}
}
export function getContentType(url: string) {
return apiClient
.head(url)
.then(response => response)
.catch(err => {
return null;
});
}
export default translate("repos")(Content);

View File

@@ -0,0 +1,23 @@
//@flow
import fetchMock from "fetch-mock";
import { getContentType } from "./Content";
describe("get content type", () => {
const CONTENT_URL = "/repositories/scmadmin/TestRepo/content/testContent";
afterEach(() => {
fetchMock.reset();
fetchMock.restore();
});
xit("should return content", done => {
fetchMock.head("/api/v2" + CONTENT_URL, {
"Content-Type": "text/plain"
});
getContentType(CONTENT_URL).then(content => {
expect(content).toBe("This is a testContent");
done();
});
});
});

View File

@@ -0,0 +1,29 @@
// @flow
import React from "react";
import { translate } from "react-i18next";
type Props = {
t: string => string
};
type State = {
content: string
};
class DownloadViewer extends React.Component<Props, State> {
constructor(props: Props) {
super(props);
this.state = {
content: ""
};
}
componentDidMount() {}
render() {
return null;
}
}
export default translate("repos")(DownloadViewer);

View File

@@ -0,0 +1,29 @@
// @flow
import React from "react";
import { translate } from "react-i18next";
type Props = {
t: string => string
};
type State = {
content: string
};
class ImageViewer extends React.Component<Props, State> {
constructor(props: Props) {
super(props);
this.state = {
content: ""
};
}
componentDidMount() {}
render() {
return null;
}
}
export default translate("repos")(ImageViewer);

View File

@@ -0,0 +1,39 @@
// @flow
import React from "react";
import { translate } from "react-i18next";
import { apiClient } from "@scm-manager/ui-components";
type Props = {
t: string => string
};
type State = {
content: string
};
class SourcecodeViewer extends React.Component<Props, State> {
constructor(props: Props) {
super(props);
this.state = {
content: ""
};
}
componentDidMount() {}
render() {
return null;
}
}
export function getContent(url: string) {
return apiClient
.get(url)
.then(response => response.text())
.catch(err => {
return null;
});
}
export default translate("repos")(SourcecodeViewer);

View File

@@ -0,0 +1,22 @@
//@flow
import fetchMock from "fetch-mock";
import { getContent } from "./SourcecodeViewer";
describe("get content", () => {
const CONTENT_URL =
"/repositories/scmadmin/TestRepo/content/testContent";
afterEach(() => {
fetchMock.reset();
fetchMock.restore();
});
it("should return content", done => {
fetchMock.getOnce("/api/v2" + CONTENT_URL, "This is a testContent");
getContent(CONTENT_URL).then(content => {
expect(content).toBe("This is a testContent");
done();
});
});
});