99 lines
2.4 KiB
JavaScript
99 lines
2.4 KiB
JavaScript
|
import { run } from '@ember/runloop';
|
||
|
import { module, test } from 'qunit';
|
||
|
import { setupTest } from 'ember-qunit';
|
||
|
|
||
|
module('Unit | Model | allocation', function(hooks) {
|
||
|
setupTest(hooks);
|
||
|
hooks.beforeEach(function() {
|
||
|
this.store = this.owner.lookup('service:store');
|
||
|
});
|
||
|
|
||
|
test("When the allocation's job version matches the job's version, the task group comes from the job.", function(assert) {
|
||
|
const job = run(() =>
|
||
|
this.store.createRecord('job', {
|
||
|
name: 'this-job',
|
||
|
version: 1,
|
||
|
taskGroups: [
|
||
|
{
|
||
|
name: 'from-job',
|
||
|
count: 1,
|
||
|
task: [],
|
||
|
},
|
||
|
],
|
||
|
})
|
||
|
);
|
||
|
|
||
|
const allocation = run(() =>
|
||
|
this.store.createRecord('allocation', {
|
||
|
job,
|
||
|
jobVersion: 1,
|
||
|
taskGroupName: 'from-job',
|
||
|
allocationTaskGroup: {
|
||
|
name: 'from-allocation',
|
||
|
count: 1,
|
||
|
task: [],
|
||
|
},
|
||
|
})
|
||
|
);
|
||
|
|
||
|
assert.equal(allocation.get('taskGroup.name'), 'from-job');
|
||
|
});
|
||
|
|
||
|
test("When the allocation's job version does not match the job's version, the task group comes from the alloc.", function(assert) {
|
||
|
const job = run(() =>
|
||
|
this.store.createRecord('job', {
|
||
|
name: 'this-job',
|
||
|
version: 1,
|
||
|
taskGroups: [
|
||
|
{
|
||
|
name: 'from-job',
|
||
|
count: 1,
|
||
|
task: [],
|
||
|
},
|
||
|
],
|
||
|
})
|
||
|
);
|
||
|
|
||
|
const allocation = run(() =>
|
||
|
this.store.createRecord('allocation', {
|
||
|
job,
|
||
|
jobVersion: 2,
|
||
|
taskGroupName: 'from-job',
|
||
|
allocationTaskGroup: {
|
||
|
name: 'from-allocation',
|
||
|
count: 1,
|
||
|
task: [],
|
||
|
},
|
||
|
})
|
||
|
);
|
||
|
|
||
|
assert.equal(allocation.get('taskGroup.name'), 'from-allocation');
|
||
|
});
|
||
|
|
||
|
test("When the allocation's job version does not match the job's version and the allocation has no task group, then task group is null", async function(assert) {
|
||
|
const job = run(() =>
|
||
|
this.store.createRecord('job', {
|
||
|
name: 'this-job',
|
||
|
version: 1,
|
||
|
taskGroups: [
|
||
|
{
|
||
|
name: 'from-job',
|
||
|
count: 1,
|
||
|
task: [],
|
||
|
},
|
||
|
],
|
||
|
})
|
||
|
);
|
||
|
|
||
|
const allocation = run(() =>
|
||
|
this.store.createRecord('allocation', {
|
||
|
job,
|
||
|
jobVersion: 2,
|
||
|
taskGroupName: 'from-job',
|
||
|
})
|
||
|
);
|
||
|
|
||
|
assert.equal(allocation.get('taskGroup.name'), null);
|
||
|
});
|
||
|
});
|