76 lines
1.6 KiB
JavaScript
76 lines
1.6 KiB
JavaScript
|
import {BaseService, ServiceState} from '@bthlabs/homehub-core';
|
||
|
import {shallow} from 'enzyme';
|
||
|
import React from 'react';
|
||
|
|
||
|
import {FatalError} from 'src/FatalError';
|
||
|
|
||
|
class FakeService extends BaseService {
|
||
|
static kind = 'FakeService';
|
||
|
static widget = 'FakeWidget';
|
||
|
}
|
||
|
|
||
|
describe('src/FatalError', () => {
|
||
|
let service = null;
|
||
|
let serviceState = null;
|
||
|
|
||
|
beforeEach(() => {
|
||
|
service = new FakeService({
|
||
|
instance: 'testing',
|
||
|
characteristics: {},
|
||
|
});
|
||
|
serviceState = new ServiceState({
|
||
|
error: {
|
||
|
message: 'FIAL',
|
||
|
},
|
||
|
});
|
||
|
});
|
||
|
|
||
|
it('allows passing an arbitrary class name', () => {
|
||
|
// Given
|
||
|
const component = shallow(
|
||
|
<FatalError
|
||
|
className="test"
|
||
|
service={service}
|
||
|
serviceState={serviceState}
|
||
|
/>
|
||
|
);
|
||
|
|
||
|
// Then
|
||
|
expect(component.hasClass('test')).toBe(true);
|
||
|
});
|
||
|
|
||
|
it('renders the service kind and instance', () => {
|
||
|
// Given
|
||
|
const component = shallow(
|
||
|
<FatalError
|
||
|
className="test"
|
||
|
service={service}
|
||
|
serviceState={serviceState}
|
||
|
/>
|
||
|
);
|
||
|
|
||
|
// When
|
||
|
const code = component.find('code').at(0);
|
||
|
|
||
|
// Then
|
||
|
expect(code.text()).toEqual(`${service.kind}:${service.instance}`);
|
||
|
});
|
||
|
|
||
|
it('renders the error message', () => {
|
||
|
// Given
|
||
|
const component = shallow(
|
||
|
<FatalError
|
||
|
className="test"
|
||
|
service={service}
|
||
|
serviceState={serviceState}
|
||
|
/>
|
||
|
);
|
||
|
|
||
|
// When
|
||
|
const code = component.find('code').at(1);
|
||
|
|
||
|
// Then
|
||
|
expect(code.text()).toEqual(serviceState.error().message);
|
||
|
});
|
||
|
});
|