Commit 23a5197f authored by Dmitriy Sintsov's avatar Dmitriy Sintsov 🤗

test(checker): Add test suites for `getServiceByName`

+ TODO
parent 916d1782
......@@ -2,6 +2,11 @@ import { expect } from 'chai'
import { CheckerService, /* Service, */ CheckerItem, Checker } from '.'
describe('Test #checker service', function () {
describe('TODO', () => {
it('Add opportunity abort check')
it('Not check if state field in pending state')
})
describe('Real cases', () => {
it('Check all registered services. Should returns array with bool state each service.', (done) => {
const checker = new CheckerService()
......@@ -95,7 +100,7 @@ describe('Test #checker service', function () {
}
})
checker.on('start', (service: CheckerItem) => {
checker.on(CheckerService.START, (service: CheckerItem) => {
const expected = {
name: 'test',
state: 'pending',
......@@ -105,7 +110,7 @@ describe('Test #checker service', function () {
expect(service).to.contain(expected)
})
checker.on('finish', (actual: CheckerItem) => {
checker.on(CheckerService.FINISH, (actual: CheckerItem) => {
const expected = {
name: 'test',
state: 'resolve',
......@@ -218,4 +223,35 @@ describe('Test #checker service', function () {
.catch(done)
})
})
describe('`getServiceByName`', () => {
it('Try get unregistered service. Should return undefined', () => {
const checker = new CheckerService()
const actual = checker.getServiceByName('unknown service name')
expect(actual).to.be.equal(undefined)
})
it('Try get registered service. Should return CheckerItem of service', () => {
const checker = new CheckerService()
const service = {
async check () {
return Promise.resolve(true)
}
}
const expectedCheckerItem: CheckerItem = {
name: 'service',
instance: service,
state: 'init',
isActive: false
}
checker.registerService('service', service)
const actualCheckerItem = checker.getServiceByName('service')
expect(actualCheckerItem?.instance).to.be.eql(service)
expect(actualCheckerItem).to.be.eql(expectedCheckerItem)
})
})
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment