github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/mirage/factories/recommendation.js (about)

     1  import { Factory } from 'ember-cli-mirage';
     2  
     3  import faker from 'nomad-ui/mirage/faker';
     4  
     5  const REF_TIME = new Date();
     6  
     7  export default Factory.extend({
     8    submitTime: () => faker.date.past(2 / 365, REF_TIME) * 1000000,
     9  
    10    afterCreate(recommendation) {
    11      const base =
    12        recommendation.resource === 'CPU'
    13          ? recommendation.task.resources.CPU
    14          : recommendation.task.resources.MemoryMB;
    15      const recommendDecrease = faker.random.boolean();
    16      const directionMultiplier = recommendDecrease ? -1 : 1;
    17  
    18      const value = base + Math.floor(base * 0.5) * directionMultiplier;
    19  
    20      const min = faker.random.number({ min: 5, max: value * 0.4 });
    21      const max = faker.random.number({ min: value * 0.6, max: value });
    22      const p99 = faker.random.number({ min: min + (max - min) * 0.8, max });
    23      const mean = faker.random.number({ min, max: p99 });
    24      const median = faker.random.number({ min, max: p99 });
    25  
    26      recommendation.update({
    27        stats: { min, max, p99, mean, median },
    28        value,
    29      });
    30    },
    31  });