freeCodeCamp/curriculum/test/utils/mongoIds.js

25 lines
576 B
JavaScript
Raw Normal View History

const _ = require('lodash');
const { isMongoId } = require('validator');
class MongoIds {
constructor() {
this.knownIds = [];
}
check(id, title) {
if (!isMongoId(id)) {
throw new Error(`Expected a valid ObjectId for ${title}, but got ${id}`);
}
const idIndex = _.findIndex(this.knownIds, existing => id === existing);
if (idIndex !== -1) {
throw new Error(`
All challenges must have a unique id.
The id for ${title} is already assigned
`);
}
this.knownIds = [...this.knownIds, id];
}
}
module.exports = MongoIds;