diff --git a/priv/frontend/src/components/__tests__/Service.js b/priv/frontend/src/components/__tests__/Service.js
new file mode 100644
index 0000000..95bc760
--- /dev/null
+++ b/priv/frontend/src/components/__tests__/Service.js
@@ -0,0 +1,49 @@
+import React from 'react'
+import { shallow } from 'enzyme'
+
+import Service, { getServiceState } from '../Service'
+
+const graph = [
+ [1000, 50],
+ [2000, 30],
+ [3000, 60],
+]
+
+const props = {
+ name: 'sample service',
+ description: 'a cool service',
+ latency: 50.5,
+}
+
+describe('', () => {
+ it('renders without crashing', () => {
+ shallow()
+ })
+
+ it('omits information', () => {
+ const comp = shallow()
+ expect(comp.find('h2.title').text()).toEqual('sample service ')
+ })
+
+ it('renders proper information', () => {
+ const comp = shallow()
+ expect(comp.prop('className')).toEqual('service service-alive')
+ expect(comp.find('h2.title').text()).toEqual('sample service 51ms')
+ expect(comp.contains(a cool service
)).toEqual(true)
+ expect(comp.contains(51ms)).toEqual(true)
+ })
+})
+
+describe('getServiceState', () => {
+ it('returns alive', () => {
+ expect(getServiceState(true, 10, 5000)).toEqual('alive')
+ })
+
+ it('returns slow', () => {
+ expect(getServiceState(true, 8000, 5000)).toEqual('slow')
+ })
+
+ it('returns dead', () => {
+ expect(getServiceState(false, 0, 5000)).toEqual('dead')
+ })
+})