Fixes and documents the odd async usage for reading multipart in a model binder, fixes up navigation.service checks and adds unit tests for that

This commit is contained in:
Shannon
2018-07-17 15:33:57 +10:00
parent e9752cd5e1
commit e2bcf59b0f
3 changed files with 95 additions and 13 deletions

View File

@@ -0,0 +1,50 @@
describe('navigation services tests', function () {
var navigationService;
beforeEach(module('umbraco.services'));
beforeEach(module('ngRoute'));
beforeEach(inject(function ($injector) {
navigationService = $injector.get('navigationService');
}));
describe('determine if route change causes navigation', function () {
it('navigates when parameters added', function () {
var currParams = { section: "content", id: 123 };
var nextParams = { section: "content", id: 123, create: true };
var result = navigationService.isRouteChangingNavigation(currParams, nextParams);
expect(result).toBe(true);
});
it('navigates when parameters removed', function () {
var currParams = { section: "content", id: 123, create: true };
var nextParams = { section: "content", id: 123 };
var result = navigationService.isRouteChangingNavigation(currParams, nextParams);
expect(result).toBe(true);
});
it('does not navigate when non routing parameters added', function () {
var currParams = { section: "content", id: 123 };
var nextParams = { section: "content", id: 123, mculture: "abc", cculture: "xyz" };
var result = navigationService.isRouteChangingNavigation(currParams, nextParams);
expect(result).toBe(false);
});
it('does not navigate when non routing parameters changed', function () {
var currParams = { section: "content", id: 123, mculture: "abc" };
var nextParams = { section: "content", id: 123, mculture: "ooo", cculture: "xyz" };
var result = navigationService.isRouteChangingNavigation(currParams, nextParams);
expect(result).toBe(false);
});
it('does not navigate when non routing parameters removed', function () {
var currParams = { section: "content", id: 123, mculture: "abc", cculture: "xyz" };
var nextParams = { section: "content", id: 123, cculture: "xyz" };
var result = navigationService.isRouteChangingNavigation(currParams, nextParams);
expect(result).toBe(false);
});
});
});