Sha256: 61c70bbf482a17a0cd29840eb9dcc94e6aaa04ea1332d5ef9acfa4c8389581ab

Contents?: true

Size: 1.68 KB

Versions: 4

Compression:

Stored size: 1.68 KB

Contents

/* eslint-disable promise/prefer-await-to-then */
// Configure Enzyme
import { mount } from '@theforeman/test';
import React from 'react';
import { Provider } from 'react-redux';
import store from 'foremanReact/redux';
import LabelIcon from 'foremanReact/components/common/LabelIcon';
import StatusPropertiesLabel from './StatusPropertiesLabel';

const defaultProps = {
  color: 'blue',
  iconChild: <LabelIcon text="test" />,
  statusContent: 'some content',
  linkUrl: '/test/link',
  tooltipText: 'Some nice tooltip',
};

describe('StatusPropertiesLabel', () => {
  const wrapper = mount(
    <Provider store={store}>
      <StatusPropertiesLabel {...defaultProps} />
    </Provider>
  );

  it('includes components', () => {
    expect(wrapper.find('Tooltip').exists()).toBe(true);
    expect(wrapper.find('Tooltip')).toHaveLength(1);
    expect(wrapper.find('Label').exists()).toBe(true);
    expect(wrapper.find('Label')).toHaveLength(1);
    expect(wrapper.find('Link').exists()).toBe(true);
    expect(wrapper.find('Link')).toHaveLength(1);
  });

  it('passes properties', () => {
    // ToolTip
    const tooltip = wrapper.find('Tooltip');
    expect(tooltip.props()).toHaveProperty('content');
    expect(tooltip.prop('content')).toContain(defaultProps.tooltipText);
    // Label
    const label = wrapper.find('Label');
    expect(label.props()).toHaveProperty('icon');
    expect(label.prop('icon')).toEqual(defaultProps.iconChild);
    expect(label.props()).toHaveProperty('color');
    expect(label.prop('color')).toEqual(defaultProps.color);
    // Link
    const link = wrapper.find('Link');
    expect(link.props()).toHaveProperty('to');
    expect(link.prop('to')).toEqual(defaultProps.linkUrl);
  });
});

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
foreman_resource_quota-0.3.1 webpack/components/ResourceQuotaForm/components/Properties/StatusPropertiesLabel.test.js
foreman_resource_quota-0.3.0 webpack/components/ResourceQuotaForm/components/Properties/StatusPropertiesLabel.test.js
foreman_resource_quota-0.2.0 webpack/components/ResourceQuotaForm/components/Properties/StatusPropertiesLabel.test.js
foreman_resource_quota-0.1.0 webpack/components/ResourceQuotaForm/components/Properties/StatusPropertiesLabel.test.js