open-nomad/ui/mirage/factories/recommendation.js

32 lines
1,023 B
JavaScript
Raw Normal View History

import { Factory } from 'ember-cli-mirage';
import faker from 'nomad-ui/mirage/faker';
const REF_TIME = new Date();
export default Factory.extend({
submitTime: () => faker.date.past(2 / 365, REF_TIME) * 1000000,
afterCreate(recommendation) {
const base =
recommendation.resource === 'CPU'
? recommendation.task.resources.CPU
: recommendation.task.resources.MemoryMB;
const recommendDecrease = faker.random.boolean();
const directionMultiplier = recommendDecrease ? -1 : 1;
const value = base + Math.floor(base * 0.5) * directionMultiplier;
const min = faker.random.number({ min: 5, max: value * 0.4 });
const max = faker.random.number({ min: value * 0.6, max: value });
const p99 = faker.random.number({ min: min + (max - min) * 0.8, max });
const mean = faker.random.number({ min, max: p99 });
const median = faker.random.number({ min, max: p99 });
recommendation.update({
stats: { min, max, p99, mean, median },
value,
});
},
});