diff --git a/ui/tests/unit/serializers/allocation-test.js b/ui/tests/unit/serializers/allocation-test.js index db928953152..9036f136df6 100644 --- a/ui/tests/unit/serializers/allocation-test.js +++ b/ui/tests/unit/serializers/allocation-test.js @@ -44,6 +44,7 @@ module('Unit | Serializer | Allocation', function(hooks) { failed: false, }, ], + wasPreempted: false, }, relationships: { followUpEvaluation: { @@ -55,6 +56,12 @@ module('Unit | Serializer | Allocation', function(hooks) { previousAllocation: { data: null, }, + preemptedAllocations: { + data: [], + }, + preemptedByAllocation: { + data: null, + }, job: { data: { id: '["test-summary","test-namespace"]', @@ -108,6 +115,71 @@ module('Unit | Serializer | Allocation', function(hooks) { failed: true, }, ], + wasPreempted: false, + }, + relationships: { + followUpEvaluation: { + data: null, + }, + nextAllocation: { + data: null, + }, + previousAllocation: { + data: null, + }, + preemptedAllocations: { + data: [], + }, + preemptedByAllocation: { + data: null, + }, + job: { + data: { + id: '["test-summary","test-namespace"]', + type: 'job', + }, + }, + }, + }, + }, + }, + + { + name: 'With preemptions', + in: { + ID: 'test-allocation', + JobID: 'test-summary', + Name: 'test-summary[1]', + Namespace: 'test-namespace', + TaskGroup: 'test-group', + CreateTime: +sampleDate * 1000000, + ModifyTime: +sampleDate * 1000000, + TaskStates: { + task: { + State: 'running', + Failed: false, + }, + }, + PreemptedByAllocation: 'preempter-allocation', + PreemptedAllocations: ['preempted-one-allocation', 'preempted-two-allocation'], + }, + out: { + data: { + id: 'test-allocation', + type: 'allocation', + attributes: { + taskGroupName: 'test-group', + name: 'test-summary[1]', + modifyTime: sampleDate, + createTime: sampleDate, + states: [ + { + name: 'task', + state: 'running', + failed: false, + }, + ], + wasPreempted: true, }, relationships: { followUpEvaluation: { @@ -119,6 +191,18 @@ module('Unit | Serializer | Allocation', function(hooks) { previousAllocation: { data: null, }, + preemptedAllocations: { + data: [ + { id: 'preempted-one-allocation', type: 'allocation' }, + { id: 'preempted-two-allocation', type: 'allocation' }, + ], + }, + preemptedByAllocation: { + data: { + id: 'preempter-allocation', + type: 'allocation', + }, + }, job: { data: { id: '["test-summary","test-namespace"]', diff --git a/ui/tests/unit/serializers/job-plan-test.js b/ui/tests/unit/serializers/job-plan-test.js index d56690c3ebb..994f811c24e 100644 --- a/ui/tests/unit/serializers/job-plan-test.js +++ b/ui/tests/unit/serializers/job-plan-test.js @@ -38,7 +38,11 @@ module('Unit | Serializer | JobPlan', function(hooks) { }, ], }, - relationships: {}, + relationships: { + preemptions: { + data: [], + }, + }, }, }, }, @@ -78,7 +82,57 @@ module('Unit | Serializer | JobPlan', function(hooks) { }, ], }, - relationships: {}, + relationships: { + preemptions: { + data: [], + }, + }, + }, + }, + }, + + { + name: 'With preemptions', + in: { + ID: 'test-plan', + Diff: { + Arbitrary: 'Value', + }, + FailedTGAllocs: { + task: { + NodesAvailable: 10, + }, + }, + Annotations: { + PreemptedAllocs: [ + { ID: 'preemption-one-allocation' }, + { ID: 'preemption-two-allocation' }, + ], + }, + }, + out: { + data: { + id: 'test-plan', + type: 'job-plan', + attributes: { + diff: { + Arbitrary: 'Value', + }, + failedTGAllocs: [ + { + name: 'task', + nodesAvailable: 10, + }, + ], + }, + relationships: { + preemptions: { + data: [ + { id: 'preemption-one-allocation', type: 'allocation' }, + { id: 'preemption-two-allocation', type: 'allocation' }, + ], + }, + }, }, }, },