瀏覽代碼

Added some reputation tests

tags/v0.1.7^2
bigbadwaffle 7 年之前
父節點
當前提交
afeeb8f2a4
共有 6 個文件被更改,包括 179 次插入10 次删除
  1. +1
    -1
      src/server/components/reputation.js
  2. +7
    -4
      tests/server/components/inventory.js
  3. +121
    -0
      tests/server/components/reputation.js
  4. +12
    -2
      tests/server/mocks/generator.js
  5. +9
    -0
      tests/server/world/mobBuilder.js
  6. +29
    -3
      tests/tests.js

+ 1
- 1
src/server/components/reputation.js 查看文件

@@ -1,5 +1,5 @@
define([ define([
'config/factionBase'
'../config/factionBase'
], function( ], function(
factionBase factionBase
) { ) {


+ 7
- 4
tests/server/components/inventory.js 查看文件

@@ -4,8 +4,9 @@ define([
mocks mocks
) { ) {
return { return {
stashItemExists: function() {
var player = mocks.generate({
//Does the item exist in the stash after stashing it
stashItem_Exists: function() {
var player = mocks.player({
inventory: { inventory: {
items: [{ items: [{
id: 0 id: 0
@@ -22,8 +23,10 @@ define([
if (!stashedItem) if (!stashedItem)
return true; return true;
}, },
stashItemQuantity: function() {
var player = mocks.generate({

//Does the stashed item have the correct quantity
stashItem_Quantity: function() {
var player = mocks.player({
inventory: { inventory: {
items: [{ items: [{
id: 0, id: 0,


+ 121
- 0
tests/server/components/reputation.js 查看文件

@@ -0,0 +1,121 @@
define([
'server/mocks/generator'
], function(
mocks
) {
return {
//Is our reputation the correct amount before and after adding
getReputation_GetReputation: function() {
var factionBase = require('../src/server/config/factionBase');
var fjolgard = require('../src/server/config/factions/fjolgard');
var factionBlueprint = extend(true, {}, factionBase, fjolgard);

var player = mocks.player({
reputation: {
factions: {
fjolgard: factionBlueprint
},
list: [{
id: 'fjolgard',
rep: 1000,
tier: 0
}]
},
equipment: {}
});

var repBefore = player.reputation.list[0].rep;

player.reputation.getReputation('fjolgard', 1);
if (repBefore + 1 != player.reputation.list[0].rep)
return true;
},

//Is our reputation the correct amount before and after adding
getReputation_LoseReputation: function() {
var factionBase = require('../src/server/config/factionBase');
var fjolgard = require('../src/server/config/factions/fjolgard');
var factionBlueprint = extend(true, {}, factionBase, fjolgard);

var player = mocks.player({
reputation: {
factions: {
fjolgard: factionBlueprint
},
list: [{
id: 'fjolgard',
rep: 1000,
tier: 0
}]
},
equipment: {}
});

var repBefore = player.reputation.list[0].rep;

player.reputation.getReputation('fjolgard', -1);
if (repBefore - 1 != player.reputation.list[0].rep)
return true;
},

//Do we gain tiers when getting the correct amount of reputation to do so
calculateTier_GainTier: function() {
var factionBase = require('../src/server/config/factionBase');
var fjolgard = require('../src/server/config/factions/fjolgard');
var factionBlueprint = extend(true, {}, factionBase, fjolgard);

var player = mocks.player({
reputation: {
factions: {
fjolgard: factionBlueprint
},
list: [{
id: 'fjolgard'
}]
},
equipment: {}
});

var f = player.reputation.list[0];
for (var i = 0; i < factionBlueprint.tiers.length; i++) {
var tier = factionBlueprint.tiers[i];
f.tier = i - 1;
f.rep = tier.rep - 1;

player.reputation.getReputation('fjolgard', 1);
if (f.tier != i)
return true;
}
},

//Do we lose tiers when losing the correct amount of reputation to do so
calculateTier_LoseTier: function() {
var factionBase = require('../src/server/config/factionBase');
var fjolgard = require('../src/server/config/factions/fjolgard');
var factionBlueprint = extend(true, {}, factionBase, fjolgard);

var player = mocks.player({
reputation: {
factions: {
fjolgard: factionBlueprint
},
list: [{
id: 'fjolgard'
}]
},
equipment: {}
});

var f = player.reputation.list[0];
for (var i = 1; i < factionBlueprint.tiers.length; i++) {
var tier = factionBlueprint.tiers[i];
f.tier = i;
f.rep = tier.rep;

player.reputation.getReputation('fjolgard', -1);
if (f.tier != i - 1)
return true;
}
}
};
});

+ 12
- 2
tests/server/mocks/generator.js 查看文件

@@ -4,9 +4,15 @@ define([
) { ) {
return { return {
generate: function(blueprint) {
player: function(blueprint) {
var result = { var result = {
fireEvent: function() {}
fireEvent: function() {},
syncer: {},
instance: {
syncer: {
queue: function() {}
}
}
}; };


blueprint.syncer = {}; blueprint.syncer = {};
@@ -21,6 +27,10 @@ define([
} }


return result; return result;
},

mob: function(blueprint) {
} }
}; };
}); });

+ 9
- 0
tests/server/world/mobBuilder.js 查看文件

@@ -0,0 +1,9 @@
define([
'server/mocks/generator'
], function(
mocks
) {
return {
};
});

+ 29
- 3
tests/tests.js 查看文件

@@ -3,25 +3,51 @@ define([
], function( ], function(
inventory inventory
) { ) {
var components = ['inventory', 'reputation'];

return { return {
stats: {
succeeded: 0,
failed: 0
},

init: function() { init: function() {
this.runTest('inventory', inventory);
console.log('Testing Started');
console.log();

components.forEach(function(c) {
this.runTest(c, require('server/components/' + c));
}, this);

console.log();
console.log('Testing Completed');
console.log('Succeeded: ' + this.stats.succeeded);
console.log('Failed: ' + this.stats.failed);
}, },


runTest: function(testName, test) { runTest: function(testName, test) {
for (var t in test) { for (var t in test) {
try { try {
if (test[t]())
if (test[t]()) {
this.logError(testName, t); this.logError(testName, t);
this.stats.failed++;
}
else
this.stats.succeeded++;
} }
catch (e) { catch (e) {
this.stats.failed++;
this.logError(testName, t, e); this.logError(testName, t, e);
} }
} }
}, },


logError: function(test, method, error) { logError: function(test, method, error) {
console.log(test + '.' + method + ' failed');
var splitMethod = method.split('_');
method = splitMethod[0];
var variant = splitMethod[1];

console.log('Failed: ' + test + '.' + method + ' (' + variant + ')');
if (error) if (error)
console.log(error); console.log(error);
} }


Loading…
取消
儲存