* removed rewire. now using babel-rewire instead * implemented more tests * changed some eslint params * linting * linting * coverage on getChant Co-authored-by: Marcus Netz <marcus.netz@godyo.com>
135 lines
3.8 KiB
JavaScript
135 lines
3.8 KiB
JavaScript
require('module-alias/register');
|
|
require('babel-plugin-rewire');
|
|
const List = require('@Commands/List');
|
|
|
|
// const getStats = reWireUtils.__get__('getStats');
|
|
const getAttribute = List.__get__('getAttribute');
|
|
const printHeader = List.__get__('printHeader');
|
|
const listStats = List.__get__('listStats');
|
|
|
|
describe('getAttributes', () => {
|
|
it('should return an attribute object', () => {
|
|
expect(getAttribute({ id: 'mut', level: 9 })).toEqual(
|
|
expect.objectContaining({
|
|
id: 'mut',
|
|
Name: 'Mut',
|
|
Level: 9,
|
|
})
|
|
);
|
|
expect(getAttribute()).toEqual(
|
|
expect.objectContaining({
|
|
id: expect.any(String),
|
|
Name: expect.any(String),
|
|
Level: expect.any(Number),
|
|
})
|
|
);
|
|
});
|
|
});
|
|
describe('printHeader', () => {
|
|
it('should return null with no params', () => {
|
|
expect(printHeader()).toBeNull();
|
|
});
|
|
it('should return a string', () => {
|
|
const attributes = [{ Short: 'AA' }, { Short: 'BB' }, { Short: 'CC' }];
|
|
expect(printHeader(attributes)).toMatch(/\s+AA\s+[|]\s+BB\s+[|]\s+CC\s+/g);
|
|
});
|
|
});
|
|
|
|
describe('listStats', () => {
|
|
it('should return a string', () => {
|
|
expect(listStats([{ Level: 8 }, { Level: 9 }, { Level: 10 }])).toMatch(
|
|
/\s+8\s+[|]\s+9\s+[|]\s+10\s+/
|
|
);
|
|
});
|
|
});
|
|
|
|
describe('findUser', () => {
|
|
const expected = {
|
|
user: 'Test',
|
|
character: {
|
|
name: 'test',
|
|
},
|
|
};
|
|
|
|
List.__Rewire__('db', {
|
|
findOne: () => Promise.resolve(expected),
|
|
});
|
|
const findUser = List.__get__('findUser');
|
|
expect(findUser()).toBeInstanceOf(Promise);
|
|
expect(findUser()).resolves.toEqual(expected);
|
|
});
|
|
/*
|
|
describe('findUsers', () => {
|
|
const expected = {
|
|
user: 'Test',
|
|
character: {
|
|
name: 'test',
|
|
attributes: [{ id: 'mut', level: 9 }],
|
|
},
|
|
};
|
|
|
|
List.__Rewire__('db', {
|
|
findOne: () => {
|
|
return Promise.resolve(expected);
|
|
},
|
|
});
|
|
const findUsers = List.__get__('findUsers');
|
|
expect(findUser()).toBeInstanceOf(Promise);
|
|
expect(findUser()).resolves.toEqual(expected);
|
|
});*/
|
|
|
|
describe('getStats', () => {
|
|
it('should give name, id and level in order', () => {
|
|
const getStats = List.__get__('getStats');
|
|
const user = {
|
|
character: {
|
|
attributes: [
|
|
{ id: 'mut', level: 10 },
|
|
{ id: 'klugheit', level: 11 },
|
|
],
|
|
},
|
|
};
|
|
|
|
expect(getStats(user)).toEqual(
|
|
expect.arrayContaining([
|
|
{
|
|
Name: expect.any(String),
|
|
Level: expect.any(Number),
|
|
Short: expect.any(String),
|
|
id: expect.any(String),
|
|
},
|
|
])
|
|
);
|
|
});
|
|
});
|
|
|
|
describe('returnResult', () => {
|
|
const returnResult = List.__get__('returnResult');
|
|
|
|
const message = { reply: str => str };
|
|
const characters = [
|
|
{
|
|
Name: 'Zulu',
|
|
Attributes: [
|
|
{ id: 'charisma', Level: 7, Short: 'CH' },
|
|
{ id: 'mut', Level: 14, Short: 'MU' },
|
|
],
|
|
},
|
|
{
|
|
Name: 'Alfa',
|
|
Attributes: [
|
|
{ id: 'mut', Level: 10, Short: 'MU' },
|
|
{ id: 'charisma', Level: 11, Short: 'CH' },
|
|
],
|
|
},
|
|
];
|
|
it('returns if no characters were found', () => {
|
|
expect(returnResult(message, [])).toBe('Keine Benutzer auf dieser Liste gefunden.');
|
|
expect(returnResult(message)).toBe('Keine Benutzer auf dieser Liste gefunden.');
|
|
});
|
|
|
|
it('returns a string ', () => {
|
|
expect(returnResult(message, characters)).toMatch(/.*/);
|
|
});
|
|
});
|