88 lines
2.3 KiB
JavaScript
88 lines
2.3 KiB
JavaScript
|
import { module, test } from 'qunit';
|
||
|
import { setupTest } from 'ember-qunit';
|
||
|
import ScaleEventModel from 'nomad-ui/models/scale-event';
|
||
|
|
||
|
module('Unit | Serializer | Scale Event', function(hooks) {
|
||
|
setupTest(hooks);
|
||
|
hooks.beforeEach(function() {
|
||
|
this.store = this.owner.lookup('service:store');
|
||
|
this.subject = () => this.store.serializerFor('scale-event');
|
||
|
});
|
||
|
|
||
|
const sampleDate = new Date('2020-12-07T00:00:00');
|
||
|
const normalizationTestCases = [
|
||
|
{
|
||
|
name: 'Normal',
|
||
|
in: {
|
||
|
Count: null,
|
||
|
CreateIndex: 16,
|
||
|
Error: true,
|
||
|
EvalID: null,
|
||
|
Message: 'job scaling blocked due to active deployment',
|
||
|
Meta: {
|
||
|
OriginalCount: 3,
|
||
|
OriginalMessage: 'submitted using the Nomad CLI',
|
||
|
OriginalMeta: null,
|
||
|
},
|
||
|
PreviousCount: 1,
|
||
|
Time: +sampleDate * 1000000,
|
||
|
},
|
||
|
out: {
|
||
|
data: {
|
||
|
attributes: {
|
||
|
count: null,
|
||
|
error: true,
|
||
|
message: 'job scaling blocked due to active deployment',
|
||
|
meta: {
|
||
|
OriginalCount: 3,
|
||
|
OriginalMessage: 'submitted using the Nomad CLI',
|
||
|
OriginalMeta: null,
|
||
|
},
|
||
|
previousCount: 1,
|
||
|
time: sampleDate,
|
||
|
timeNanos: 0,
|
||
|
},
|
||
|
relationships: {},
|
||
|
type: 'scale-event',
|
||
|
id: null,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
name: 'No meta',
|
||
|
in: {
|
||
|
Count: 3,
|
||
|
CreateIndex: 23,
|
||
|
Error: false,
|
||
|
EvalID: '753bb12c-345e-22b2-f0b4-17f84239b98b',
|
||
|
Message: 'submitted using the Nomad CLI',
|
||
|
Meta: null,
|
||
|
PreviousCount: 1,
|
||
|
Time: +sampleDate * 1000000,
|
||
|
},
|
||
|
out: {
|
||
|
data: {
|
||
|
attributes: {
|
||
|
count: 3,
|
||
|
error: false,
|
||
|
message: 'submitted using the Nomad CLI',
|
||
|
meta: {},
|
||
|
previousCount: 1,
|
||
|
time: sampleDate,
|
||
|
timeNanos: 0,
|
||
|
},
|
||
|
relationships: {},
|
||
|
type: 'scale-event',
|
||
|
id: null,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
];
|
||
|
|
||
|
normalizationTestCases.forEach(testCase => {
|
||
|
test(`normalization: ${testCase.name}`, async function(assert) {
|
||
|
assert.deepEqual(this.subject().normalize(ScaleEventModel, testCase.in), testCase.out);
|
||
|
});
|
||
|
});
|
||
|
});
|