2019-09-04 21:46:33 -07:00

30 lines
1.3 KiB
TypeScript

import { module, test } from 'qunit';
import { RouteInfoStub } from 'wherehows-web/tests/stubs/routes/route-info';
import { resolveDynamicRouteName } from '@datahub/utils/routes/routing';
import { mapOfRouteNamesToResolver } from '@datahub/data-models/utils/entity-route-name-resolver';
module('Unit | Utility | helpers/routes', function() {
test('resolveDynamicRouteName utility resolves RouteInfo attributes correctly', function(assert) {
const routeInfo = new RouteInfoStub('test', {});
let routeName = resolveDynamicRouteName(mapOfRouteNamesToResolver, routeInfo);
assert.equal(
routeName,
routeInfo.name,
'expected resolved route name to default to default to name property of RouteInfo object when routeName not in resolver map'
);
const testEntity = 'testBrowseEntityAttributeA';
const routeInfos = ['browse.entity', 'browse.entity.index'].map(
routeName => new RouteInfoStub(routeName, { entity: testEntity })
);
routeInfos.forEach(routeInfo => {
const resolvedRouteName = resolveDynamicRouteName(mapOfRouteNamesToResolver, routeInfo);
assert.equal(
resolvedRouteName,
`browse.${testEntity}`,
'expected browse entity route to resolve with expected string'
);
});
});
});