mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 23:27:26 +01:00
57 lines
1.8 KiB
JavaScript
57 lines
1.8 KiB
JavaScript
'use strict';
|
|
var sinon = require('sinon');
|
|
var chai = require("chai");
|
|
chai.use(require("sinon-chai"));
|
|
var expect = chai.expect;
|
|
|
|
var statCalc = require('../../common/script/methods/statCalculations');
|
|
|
|
describe('stat calculation functions', function() {
|
|
describe('levelBonus', function() {
|
|
it('calculates bonus as half of level for even numbered level under 100', function() {
|
|
var level = 50;
|
|
var bonus = statCalc.levelBonus(level);
|
|
expect(bonus).to.eql(25);
|
|
});
|
|
|
|
it('calculates bonus as half of level, rounded down, for odd numbered level under 100', function() {
|
|
var level = 51;
|
|
var bonus = statCalc.levelBonus(level);
|
|
expect(bonus).to.eql(25);
|
|
});
|
|
|
|
it('calculates bonus as 50 for levels >= 100', function() {
|
|
var level = 150;
|
|
var bonus = statCalc.levelBonus(level);
|
|
expect(bonus).to.eql(50);
|
|
});
|
|
|
|
it('calculates bonus as 0 for level 1', function() {
|
|
var level = 1;
|
|
var bonus = statCalc.levelBonus(level);
|
|
expect(bonus).to.eql(0);
|
|
});
|
|
});
|
|
|
|
describe('equipmentStatBonus', function() {
|
|
it('tallies up stats from euqipment that is equipped', function() {
|
|
var equippedGear = {
|
|
"weapon" : "weapon_special_1",
|
|
"shield" : "shield_special_1",
|
|
"head" : "head_special_1",
|
|
"armor" : "armor_special_1"
|
|
};
|
|
|
|
var strStat = statCalc.equipmentStatBonus('str', equippedGear);
|
|
var conStat = statCalc.equipmentStatBonus('con', equippedGear);
|
|
var intStat = statCalc.equipmentStatBonus('int', equippedGear);
|
|
var perStat = statCalc.equipmentStatBonus('per', equippedGear);
|
|
|
|
expect(strStat).to.eql(24);
|
|
expect(conStat).to.eql(24);
|
|
expect(intStat).to.eql(24);
|
|
expect(perStat).to.eql(24);
|
|
});
|
|
});
|
|
});
|