1
0
mirror of https://github.com/0rangebananaspy/authelia.git synced 2024-09-14 22:47:21 +07:00
authelia/web/src/components/ColoredSnackbarContent.test.tsx
Amir Zarrinkafsh 689fd7cb95
[CI] Add linting option for frontend and enforce styling ()
We now extend the default Eslint configuration and enforce styling with prettier for all of our frontend code.
2021-01-02 21:58:24 +11:00

36 lines
1.5 KiB
TypeScript

import React from "react";
import { SnackbarContent } from "@material-ui/core";
import { expect } from "chai";
import { mount, shallow } from "enzyme";
import ReactDOM from "react-dom";
import ColoredSnackbarContent from "./ColoredSnackbarContent";
it("renders without crashing", () => {
const div = document.createElement("div");
ReactDOM.render(<ColoredSnackbarContent level="success" message="this is a success" />, div);
ReactDOM.unmountComponentAtNode(div);
});
it("should contain the message", () => {
const el = mount(<ColoredSnackbarContent level="success" message="this is a success" />);
expect(el.text()).to.contain("this is a success");
});
/* eslint-disable @typescript-eslint/no-unused-expressions */
it("should have correct color", () => {
let el = shallow(<ColoredSnackbarContent level="success" message="this is a success" />);
expect(el.find(SnackbarContent).props().className!.indexOf("success") > -1).to.be.true;
el = shallow(<ColoredSnackbarContent level="info" message="this is an info" />);
expect(el.find(SnackbarContent).props().className!.indexOf("info") > -1).to.be.true;
el = shallow(<ColoredSnackbarContent level="error" message="this is an error" />);
expect(el.find(SnackbarContent).props().className!.indexOf("error") > -1).to.be.true;
el = shallow(<ColoredSnackbarContent level="warning" message="this is an warning" />);
expect(el.find(SnackbarContent).props().className!.indexOf("warning") > -1).to.be.true;
});
/* eslint-enable @typescript-eslint/no-unused-expressions */