import { BrowserRouter } from 'react-router-dom'; import BreadcrumbHeader from './BreadcrumbHeader.jsx'; import React from 'react'; import { mount } from 'enzyme'; const loc = { pathname: '', hash: '', pathPrefix: '/path/prefix', search: '', }; describe('Tests for ', () => { it("renders breadcrumbs for a pathname", () => { loc.pathname = "/namespaces/emojivoto/deployments/web"; const component = mount( ); const crumbs = component.find("span"); expect(crumbs).toHaveLength(3); }); it("renders correct breadcrumb text for top-level pages [Namespaces]", () => { loc.pathname = "/namespaces"; const component = mount( ); const crumbs = component.find("span"); expect(crumbs).toHaveLength(1); const crumbText = crumbs.reduce((acc, crumb) => { acc+= crumb.text(); return acc; }, "") expect(crumbText).toEqual("Namespaces"); }); it("renders correct breadcrumb text for top-level pages [Control Plane]", () => { loc.pathname = "/controlplane"; const component = mount( ); const crumbs = component.find("span"); expect(crumbs).toHaveLength(1); const crumbText = crumbs.reduce((acc, crumb) => { acc+= crumb.text(); return acc; }, "") expect(crumbText).toEqual("Control Plane"); }); it(`renders correct breadcrumb text for resource list page [Namespace > emojivoto > Deployments`, () => { loc.pathname = "/namespaces/emojivoto/deployments"; const component = mount( ); const crumbs = component.find("span"); expect(crumbs).toHaveLength(3); const crumbText = crumbs.reduce((acc, crumb) => { acc+= crumb.text(); return acc; }, "") expect(crumbText).toEqual("Namespace > emojivoto > Deployments") }); it(`renders correct breadcrumb text for resource detail page [Namespace > emojivoto > deployment/web`, () => { loc.pathname = "/namespaces/emojivoto/deployments/web"; const component = mount( ); const crumbs = component.find("span"); expect(crumbs).toHaveLength(3); const crumbText = crumbs.reduce((acc, crumb) => { acc+= crumb.text(); return acc; }, "") expect(crumbText).toEqual("Namespace > emojivoto > deployment/web") }); });