UNPKG

@bigtest/mirage

Version:

A client-side server to develop, test and prototype your app.

38 lines (31 loc) 870 B
import { referenceSort } from '@bigtest/mirage'; import {module, test} from 'qunit'; module('mirage:reference-sort'); test('it sorts property references', function(assert) { let sorted = referenceSort([ ['propA'], ['propB', 'propC'], ['propC', 'propA'], ['propD'] ]); assert.deepEqual(sorted, ['propD', 'propA', 'propC', 'propB']); }); test('it throws on circular dependency', function(assert) { assert.throws(function() { referenceSort([ ['propA', 'propB'], ['propB', 'propA'] ]); }, function(e) { return e.toString() === 'Error: Cyclic dependency in properties ["propB","propA"]'; }); }); test('it works with no references', function(assert) { let sorted = referenceSort([ ['propA'], ['propB'], ['propC'], ['propD'] ]); assert.deepEqual(sorted, ['propD', 'propC', 'propB', 'propA']); });