From 263f2d8424d54bed458aaa535c2cda35ad581b48 Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Mon, 15 Aug 2022 09:38:34 +0200 Subject: [PATCH] Fixed failing tests --- .../api/engine/actions/doAction.test.js | 46 ++++++++++++++++++- .../actions/tests/createAction.testFn.js | 26 ----------- .../tests/testTypes/applyAction.testFn.js | 0 .../actions/tests/testTypes/index.testFn.js | 6 --- .../migrations/server/dbv1/dbv1.test.js | 2 + 5 files changed, 46 insertions(+), 34 deletions(-) delete mode 100644 app/imports/api/engine/actions/tests/createAction.testFn.js delete mode 100644 app/imports/api/engine/actions/tests/testTypes/applyAction.testFn.js delete mode 100644 app/imports/api/engine/actions/tests/testTypes/index.testFn.js diff --git a/app/imports/api/engine/actions/doAction.test.js b/app/imports/api/engine/actions/doAction.test.js index 19560704..56c365cb 100644 --- a/app/imports/api/engine/actions/doAction.test.js +++ b/app/imports/api/engine/actions/doAction.test.js @@ -1,11 +1,53 @@ import '/imports/api/simpleSchemaConfig.js'; //import testTypes from './testTypes/index.js'; import { doActionWork } from './doAction.js'; -import createAction from './tests/createAction.testFn.js'; +import { CreatureLogSchema } from '/imports/api/creature/log/CreatureLogs.js'; +import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; + +function cleanProp(prop){ + let schema = CreatureProperties.simpleSchema(prop); + return schema.clean(prop); +} + +function cleanCreature(creature){ + let schema = Creatures.simpleSchema(creature); + return schema.clean(creature); +} + +// Fake ActionContext to test actions with +const creatureId = 'actionTestCreatureId'; +const creatureName = 'Action Test Creature'; +const testActionContext = { + creature: cleanCreature({ + _id: creatureId, + }), + log: CreatureLogSchema.clean({ + creatureId: creatureId, + creatureName: creatureName, + }), + scope: {}, + addLog(content) { + if (content.name || content.value){ + this.log.content.push(content); + } + }, + writeLog: () => { }, +} + +const action = cleanProp({ + type: 'action', +}); +const actionAncestors = []; describe('Do Action', function(){ it('Does an empty action', function(){ - doActionWork(createAction({properties: [{type: 'action'}]})); + doActionWork({ + properties: [action], + ancestors: actionAncestors, + actionContext: testActionContext, + methodScope: {}, + }); }); //testTypes.forEach(test => it(test.text, test.fn)); }); diff --git a/app/imports/api/engine/actions/tests/createAction.testFn.js b/app/imports/api/engine/actions/tests/createAction.testFn.js deleted file mode 100644 index 84ffa907..00000000 --- a/app/imports/api/engine/actions/tests/createAction.testFn.js +++ /dev/null @@ -1,26 +0,0 @@ -import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; -import Creatures from '/imports/api/creature/creatures/Creatures.js'; - -export default function createAction({ - creature = {_id: 'creatureId'}, - targets = [], - properties = [], - ancestors = [], - method -} = {}){ - properties = properties.map(cleanProp); - ancestors = ancestors.map(cleanProp); - creature = cleanCreature(creature); - ancestors = ancestors.map(cleanCreature); - return {creature, targets, properties, ancestors, method}; -} - -function cleanProp(prop){ - let schema = CreatureProperties.simpleSchema(prop); - return schema.clean(prop); -} - -function cleanCreature(creature){ - let schema = Creatures.simpleSchema(creature); - return schema.clean(creature); -} diff --git a/app/imports/api/engine/actions/tests/testTypes/applyAction.testFn.js b/app/imports/api/engine/actions/tests/testTypes/applyAction.testFn.js deleted file mode 100644 index e69de29b..00000000 diff --git a/app/imports/api/engine/actions/tests/testTypes/index.testFn.js b/app/imports/api/engine/actions/tests/testTypes/index.testFn.js deleted file mode 100644 index e8a4b486..00000000 --- a/app/imports/api/engine/actions/tests/testTypes/index.testFn.js +++ /dev/null @@ -1,6 +0,0 @@ -import applyAction from './applyAction.testFn.js'; - -export default [{ - text: 'Applies actions', - fn: applyAction, -},]; diff --git a/app/imports/migrations/server/dbv1/dbv1.test.js b/app/imports/migrations/server/dbv1/dbv1.test.js index 9a0887ac..efbd4fdd 100644 --- a/app/imports/migrations/server/dbv1/dbv1.test.js +++ b/app/imports/migrations/server/dbv1/dbv1.test.js @@ -124,6 +124,7 @@ const expectedMigratedAttribute = { damage: 3, value: 17, constitutionMod: 2, + dirty: true, } const exampleAttack = { @@ -221,6 +222,7 @@ describe('migrateProperty', function() { prop: newAction, reversed: true, }); + delete reversedAction.dirty; assert.deepEqual(action, exampleAction, 'action should not be bashed'); assert.deepEqual(exampleAction, reversedAction, 'operation should be reversible'); });