Skip to content

Commit

Permalink
Wrap entities validator
Browse files Browse the repository at this point in the history
  • Loading branch information
habbes committed Nov 5, 2019
1 parent 2290afc commit 9f41763
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 3 deletions.
10 changes: 9 additions & 1 deletion app/api/entities/entities.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ import templates from 'api/templates/templates';
import path from 'path';
import PDF from 'api/upload/PDF';
import paths from 'api/config/paths';
import { wrapValidation } from 'api/utils/wrapValidation'

import { deleteFiles } from '../utils/files';
import model from './entitiesModel';
import validator from './entitiesValidator';
import settings from '../settings';

const FIELD_TYPES_TO_SYNC = [
Expand Down Expand Up @@ -155,7 +157,7 @@ function sanitize(doc, template) {
return Object.assign(doc, { metadata });
}

export default {
const entities = {
sanitize,
updateEntity,
createEntity,
Expand Down Expand Up @@ -572,3 +574,9 @@ export default {

count: model.count
};

export {
entities
};

export default wrapValidation(validator, entities);
14 changes: 13 additions & 1 deletion app/api/entities/specs/entities.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import relationships from 'api/relationships';
import search from 'api/search/search';
import paths from 'api/config/paths';
import path from 'path';
import entities from '../entities.js';
import wrappedEntities, { entities } from '../entities.js';
import entitiesValidator from '../entitiesValidator';
import fixtures, { batmanFinishesId, templateId, templateChangingNames,
syncPropertiesEntityId, templateWithEntityAsThesauri, docId1, docId2 } from './fixtures.js';

Expand Down Expand Up @@ -893,4 +894,15 @@ describe('entities', () => {
expect(newEntities.length).toBe(0);
});
});

describe('validation', () => {
it('should validate on save', async () => {
jest.spyOn(entities, 'save').mockResolvedValue({});
jest.spyOn(entitiesValidator, 'save').mockReturnValue(true);

const tpl = { name: 'Test' };
await wrappedEntities.save(tpl, 'en');
expect(entitiesValidator.save).toHaveBeenCalledWith(tpl, 'en');
});
});
});
1 change: 0 additions & 1 deletion app/api/entities/specs/entitiesValidator.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import validator from '../entitiesValidator';
import fixtures, { templateId, nonExistentId } from './validatorFixtures';

describe('entitiesValidator', () => {
let entity;

beforeEach(done => {
db.clearAllAndLoad(fixtures)
Expand Down

0 comments on commit 9f41763

Please sign in to comment.