open-nomad/ui/mirage/factories/token.js
Michael Lange e9579b0977 Make sure token policy ids are unique
When they aren't unique, length checks will fail
2017-10-16 13:27:52 -07:00

29 lines
716 B
JavaScript

import { Factory, faker } from 'ember-cli-mirage';
export default Factory.extend({
id: () => faker.random.uuid(),
accessorId() {
return this.id;
},
secretId: () => faker.random.uuid(),
name: () => faker.name.findName(),
global: () => faker.random.boolean(),
type: i => (i === 0 ? 'management' : 'client'),
afterCreate(token, server) {
const policyIds = Array(faker.random.number({ min: 1, max: 5 }))
.fill(0)
.map(() => faker.hacker.verb())
.uniq();
policyIds.forEach(policy => {
const dbPolicy = server.db.policies.find(policy);
if (!dbPolicy) {
server.create('policy', { id: policy });
}
});
token.update({ policyIds });
},
});