import { mount } from 'enzyme';
import { load } from 'js-yaml';
import React from 'react';
import { ManifestImageDetails } from '../manifest/ManifestImageDetails';
describe('', () => {
it('renders image names', () => {
const manifest = `
apiVersion: extensions/v1beta1
kind: Deployment
spec:
template:
spec:
containers:
- image: 'nginx:1.9.9'
imagePullPolicy: IfNotPresent
name: nginx`;
const wrapper = component(manifest);
const li = wrapper.find('li').at(0);
expect(li.text().trim()).toEqual('nginx:1.9.9');
});
it('separates `containers` and `initContainers` if both are present', () => {
let manifest = `
apiVersion: extensions/v1beta1
kind: Deployment
spec:
template:
spec:
containers:
- image: 'nginx:1.9.9'
imagePullPolicy: IfNotPresent
name: nginx`;
let wrapper = component(manifest);
expect(wrapper.html()).not.toContain('Init Containers');
expect(wrapper.html()).not.toContain('Containers');
manifest = `
apiVersion: extensions/v1beta1
kind: Deployment
spec:
template:
spec:
containers:
- image: 'nginx:1.9.9'
imagePullPolicy: IfNotPresent
name: nginx
initContainers:
- command:
- echo
- helloworld
image: busybox
name: init-deployment`;
wrapper = component(manifest);
expect(wrapper.html()).toContain('Init Containers');
expect(wrapper.html()).toContain('Containers');
});
it('appends `:latest` to an image without a tag or digest', () => {
const manifest = `
apiVersion: extensions/v1beta1
kind: Deployment
spec:
template:
spec:
containers:
- image: busybox
imagePullPolicy: IfNotPresent
name: busybox`;
const wrapper = component(manifest);
const li = wrapper.find('li').at(0);
expect(li.text().trim()).toEqual('busybox:latest');
});
});
const component = (manifest: string) => mount(() as any);