diff --git a/src/server/components/reputation.js b/src/server/components/reputation.js index 3b24c072..b89d39ef 100644 --- a/src/server/components/reputation.js +++ b/src/server/components/reputation.js @@ -1,5 +1,5 @@ define([ - 'config/factionBase' + '../config/factionBase' ], function( factionBase ) { diff --git a/tests/server/components/inventory.js b/tests/server/components/inventory.js index 152983d5..cd1ae23d 100644 --- a/tests/server/components/inventory.js +++ b/tests/server/components/inventory.js @@ -4,8 +4,9 @@ define([ mocks ) { 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: { items: [{ id: 0 @@ -22,8 +23,10 @@ define([ if (!stashedItem) return true; }, - stashItemQuantity: function() { - var player = mocks.generate({ + + //Does the stashed item have the correct quantity + stashItem_Quantity: function() { + var player = mocks.player({ inventory: { items: [{ id: 0, diff --git a/tests/server/components/reputation.js b/tests/server/components/reputation.js new file mode 100644 index 00000000..b5358a10 --- /dev/null +++ b/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; + } + } + }; +}); \ No newline at end of file diff --git a/tests/server/mocks/generator.js b/tests/server/mocks/generator.js index b6383002..d6c3b68a 100644 --- a/tests/server/mocks/generator.js +++ b/tests/server/mocks/generator.js @@ -4,9 +4,15 @@ define([ ) { return { - generate: function(blueprint) { + player: function(blueprint) { var result = { - fireEvent: function() {} + fireEvent: function() {}, + syncer: {}, + instance: { + syncer: { + queue: function() {} + } + } }; blueprint.syncer = {}; @@ -21,6 +27,10 @@ define([ } return result; + }, + + mob: function(blueprint) { + } }; }); \ No newline at end of file diff --git a/tests/server/world/mobBuilder.js b/tests/server/world/mobBuilder.js new file mode 100644 index 00000000..75104b4f --- /dev/null +++ b/tests/server/world/mobBuilder.js @@ -0,0 +1,9 @@ +define([ + 'server/mocks/generator' +], function( + mocks +) { + return { + + }; +}); \ No newline at end of file diff --git a/tests/tests.js b/tests/tests.js index cd290513..aab322e8 100644 --- a/tests/tests.js +++ b/tests/tests.js @@ -3,25 +3,51 @@ define([ ], function( inventory ) { + var components = ['inventory', 'reputation']; + return { + stats: { + succeeded: 0, + failed: 0 + }, + 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) { for (var t in test) { try { - if (test[t]()) + if (test[t]()) { this.logError(testName, t); + this.stats.failed++; + } + else + this.stats.succeeded++; } catch (e) { + this.stats.failed++; this.logError(testName, t, e); } } }, 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) console.log(error); }