merge dev branch (more tests) (#47)
* more tests and bugfixes on spells * linting
This commit is contained in:
76
__tests__/commands/Spells.js
Normal file
76
__tests__/commands/Spells.js
Normal file
@ -0,0 +1,76 @@
|
||||
require('module-alias/register');
|
||||
require('babel-plugin-rewire');
|
||||
|
||||
const Spells = require('@Commands/Spells');
|
||||
const createSpellList = Spells.__get__('createSpellList');
|
||||
const TestValue = {
|
||||
Name: 'Test',
|
||||
Level: 10,
|
||||
Attributes: [
|
||||
{ Name: 'Klugheit', Level: 10 },
|
||||
{ Name: 'Charisma', Level: 11 },
|
||||
{ Name: 'Mut', Level: 12 },
|
||||
],
|
||||
};
|
||||
|
||||
describe('createSpellList', () => {
|
||||
it('should return an array with expected object(s)', () => {
|
||||
const Test = { spells: [{ id: 'test', level: 10 }] };
|
||||
const expected = {
|
||||
Name: 'Test',
|
||||
Level: 10,
|
||||
Attributes: [
|
||||
{ Name: 'Klugheit', Level: 10 },
|
||||
{ Name: 'Charisma', Level: 11 },
|
||||
{ Name: 'Mut', Level: 12 },
|
||||
],
|
||||
};
|
||||
Spells.__Rewire__('getSpell', () => expected);
|
||||
|
||||
expect(createSpellList(Test)).toEqual(expect.arrayContaining([expected]));
|
||||
Spells.__ResetDependency__('getSpell');
|
||||
});
|
||||
it('should abort if character has no chants', () => {
|
||||
expect(createSpellList({ attributes: [] })).toBeNull();
|
||||
expect(createSpellList()).toBeNull();
|
||||
expect(createSpellList({})).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('ReplySpell', () => {
|
||||
const ReplySpell = Spells.__get__('ReplySpell');
|
||||
it('should return null if no param given.', () => {
|
||||
expect(ReplySpell()).toBeNull();
|
||||
});
|
||||
|
||||
it('should return a string', () => {
|
||||
// toBeInstanceOf(String) is not working :(
|
||||
expect(
|
||||
ReplySpell({
|
||||
Name: 'Test',
|
||||
Level: 9,
|
||||
Attributes: [
|
||||
{ Name: 'Klugheit', Level: 10 },
|
||||
{ Name: 'Charisma', Level: 11 },
|
||||
{ Name: 'Mut', Level: 12 },
|
||||
],
|
||||
})
|
||||
).toMatch(/.*Test.*(9)?.*/);
|
||||
});
|
||||
|
||||
Spells.__ResetDependency__('ReplySpell');
|
||||
});
|
||||
|
||||
describe('ReplySpellList', () => {
|
||||
const ReplySpellList = Spells.__get__('ReplySpellList');
|
||||
it('should return null if params are empty', () => {
|
||||
expect(ReplySpellList('')).toBe('Du kennst keine Zaubersprüche.');
|
||||
expect(ReplySpellList([])).toBe('Du kennst keine Zaubersprüche.');
|
||||
expect(ReplySpellList()).toBe('Du kennst keine Zaubersprüche.');
|
||||
});
|
||||
|
||||
it('should return Name and Level', () => {
|
||||
const input = [TestValue];
|
||||
expect(ReplySpellList(input)).toMatch('Test (10)');
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user