farmbot-web-frontend
Version:
Farmbot web frontend.
31 lines (27 loc) • 1.2 kB
text/typescript
import { configReducer as reduce } from "../../config/reducer";
import { changeApiHost, changeApiPort } from "../../config/actions";
import { ConfigState } from "../../config/interfaces";
describe("Config reducer", function() {
let initialState: ConfigState;
beforeEach(() => {
initialState = { host: "localhost", port: "8080" };
});
it("changes the port", () => {
expect(initialState.port).not.toEqual("1234");
let result = reduce(initialState, changeApiPort("1234"));
expect(result.port).toEqual("1234");
result = reduce(initialState, changeApiPort("x1y2z3q4"));
expect(result.port).toEqual("1234");
});
it("changes the host", () => {
expect(initialState.host).not.toEqual("1234");
let result = reduce(initialState, changeApiHost("yahoo.com"));
expect(result.host).toEqual("yahoo.com");
result = reduce(initialState, changeApiHost("yahoo.com:3000"));
expect(result.host).toEqual("yahoo.com");
result = reduce(initialState, changeApiHost("http://bing.com"));
expect(result.host).toEqual("bing.com");
result = reduce(initialState, changeApiHost("altavista.com/"));
expect(result.host).toEqual("altavista.com");
});
});