This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/static/js/directives/ui/dockerfile-path-select/dockerfile-path-select.component.spec.ts
2019-11-12 11:09:47 -05:00

110 lines
2.9 KiB
TypeScript

import { DockerfilePathSelectComponent, PathChangeEvent } from './dockerfile-path-select.component';
describe("DockerfilePathSelectComponent", () => {
var component: DockerfilePathSelectComponent;
var currentPath: string;
var isValidPath: boolean;
var paths: string[];
var supportsFullListing: boolean;
beforeEach(() => {
component = new DockerfilePathSelectComponent();
currentPath = '/';
isValidPath = false;
paths = ['/'];
supportsFullListing = true;
component.currentPath = currentPath;
component.isValidPath = isValidPath;
component.paths = paths;
component.supportsFullListing = supportsFullListing;
});
describe("ngOnChanges", () => {
it("sets valid path flag to true if current path is valid", () => {
component.ngOnChanges({});
expect(component.isValidPath).toBe(true);
});
it("sets valid path flag to false if current path is invalid", () => {
component.currentPath = "asdfdsf";
component.ngOnChanges({});
expect(component.isValidPath).toBe(false);
});
});
describe("setPath", () => {
var newPath: string;
beforeEach(() => {
newPath = '/conf';
});
it("sets current path to given path", () => {
component.setPath(newPath);
expect(component.currentPath).toEqual(newPath);
});
it("sets valid path flag to true if given path is valid", () => {
component.setPath(newPath);
expect(component.isValidPath).toBe(true);
});
it("sets valid path flag to false if given path is invalid", () => {
component.setPath("asdfsadfs");
expect(component.isValidPath).toBe(false);
});
it("emits output event indicating Dockerfile path has changed", (done) => {
component.pathChanged.subscribe((event: PathChangeEvent) => {
expect(event.path).toEqual(newPath);
expect(event.isValid).toBe(component.isValidPath);
done();
});
component.setPath(newPath);
});
});
describe("setCurrentPath", () => {
var newPath: string;
beforeEach(() => {
newPath = '/conf';
});
it("sets current path to given path", () => {
component.setSelectedPath(newPath);
expect(component.currentPath).toEqual(newPath);
});
it("sets valid path flag to true if given path is valid", () => {
component.setSelectedPath(newPath);
expect(component.isValidPath).toBe(true);
});
it("sets valid path flag to false if given path is invalid", () => {
component.setSelectedPath("a;lskjdf;ldsa");
expect(component.isValidPath).toBe(false);
});
it("emits output event indicating Dockerfile path has changed", (done) => {
component.pathChanged.subscribe((event: PathChangeEvent) => {
expect(event.path).toEqual(newPath);
expect(event.isValid).toBe(component.isValidPath);
done();
});
component.setSelectedPath(newPath);
});
});
});