mirror of
https://github.com/nasa/openmct.git
synced 2025-04-09 04:14:32 +00:00
[urlService] CleanUp/Refactor
Adjusted BrowseController's useRoute to use the urlService instead. Also adds urlService as a depency through bundle. Unit test also adjusted to account for a mockUrlService and a different value being passed into mockLocation.path(). WTD 16.
This commit is contained in:
parent
c827c40c03
commit
bd9010e2bc
@ -16,7 +16,7 @@
|
||||
{
|
||||
"key": "BrowseController",
|
||||
"implementation": "BrowseController.js",
|
||||
"depends": [ "$scope", "$route", "$location", "objectService", "navigationService" ]
|
||||
"depends": [ "$scope", "$route", "$location", "objectService", "navigationService", "urlService"]
|
||||
},
|
||||
{
|
||||
"key": "BrowseObjectController",
|
||||
|
@ -41,19 +41,13 @@ define(
|
||||
*
|
||||
* @constructor
|
||||
*/
|
||||
function BrowseController($scope, $route, $location, objectService, navigationService) {
|
||||
function BrowseController($scope, $route, $location, objectService, navigationService, urlService) {
|
||||
var path = [ROOT_ID].concat(
|
||||
($route.current.params.ids || DEFAULT_PATH).split("/")
|
||||
);
|
||||
|
||||
function updateRoute(domainObject) {
|
||||
var context = domainObject &&
|
||||
domainObject.getCapability('context'),
|
||||
objectPath = context ? context.getPath() : [],
|
||||
ids = objectPath.map(function (domainObject) {
|
||||
return domainObject.getId();
|
||||
}),
|
||||
priorRoute = $route.current,
|
||||
var priorRoute = $route.current,
|
||||
// Act as if params HADN'T changed to avoid page reload
|
||||
unlisten;
|
||||
|
||||
@ -61,8 +55,10 @@ define(
|
||||
$route.current = priorRoute;
|
||||
unlisten();
|
||||
});
|
||||
|
||||
$location.path("/browse/" + ids.slice(1).join("/"));
|
||||
// urlService.urlFor used to adjust current
|
||||
// path to new, addressed, path based on
|
||||
// domainObject
|
||||
$location.path(urlService.urlFor("browse", domainObject));
|
||||
}
|
||||
|
||||
// Callback for updating the in-scope reference to the object
|
||||
|
@ -36,6 +36,7 @@ define(
|
||||
mockObjectService,
|
||||
mockNavigationService,
|
||||
mockRootObject,
|
||||
mockUrlService,
|
||||
mockDomainObject,
|
||||
mockNextObject,
|
||||
controller;
|
||||
@ -58,6 +59,10 @@ define(
|
||||
"$location",
|
||||
[ "path" ]
|
||||
);
|
||||
mockUrlService = jasmine.createSpyObj(
|
||||
"urlService",
|
||||
["urlFor"]
|
||||
);
|
||||
mockObjectService = jasmine.createSpyObj(
|
||||
"objectService",
|
||||
[ "getObjects" ]
|
||||
@ -102,7 +107,8 @@ define(
|
||||
mockRoute,
|
||||
mockLocation,
|
||||
mockObjectService,
|
||||
mockNavigationService
|
||||
mockNavigationService,
|
||||
mockUrlService
|
||||
);
|
||||
});
|
||||
|
||||
@ -112,7 +118,8 @@ define(
|
||||
mockRoute,
|
||||
mockLocation,
|
||||
mockObjectService,
|
||||
mockNavigationService
|
||||
mockNavigationService,
|
||||
mockUrlService
|
||||
);
|
||||
expect(mockNavigationService.setNavigation)
|
||||
.toHaveBeenCalledWith(mockDomainObject);
|
||||
@ -125,7 +132,8 @@ define(
|
||||
mockRoute,
|
||||
mockLocation,
|
||||
mockObjectService,
|
||||
mockNavigationService
|
||||
mockNavigationService,
|
||||
mockUrlService
|
||||
);
|
||||
expect(mockScope.navigatedObject).toBe(mockDomainObject);
|
||||
});
|
||||
@ -200,7 +208,8 @@ define(
|
||||
|
||||
it("updates the displayed route to reflect current navigation", function () {
|
||||
var mockContext = jasmine.createSpyObj('context', ['getPath']),
|
||||
mockUnlisten = jasmine.createSpy('unlisten');
|
||||
mockUnlisten = jasmine.createSpy('unlisten'),
|
||||
mockMode = "browse";
|
||||
|
||||
mockContext.getPath.andReturn(
|
||||
[mockRootObject, mockDomainObject, mockNextObject]
|
||||
@ -213,7 +222,11 @@ define(
|
||||
mockNavigationService.addListener.mostRecentCall.args[0](
|
||||
mockNextObject
|
||||
);
|
||||
expect(mockLocation.path).toHaveBeenCalledWith("/browse/mine/next");
|
||||
// location.path to be called with the urlService's
|
||||
// urlFor function with the next domainObject and mode
|
||||
expect(mockLocation.path).toHaveBeenCalledWith(
|
||||
mockUrlService.urlFor(mockMode, mockNextObject)
|
||||
);
|
||||
|
||||
// Exercise the Angular workaround
|
||||
mockScope.$on.mostRecentCall.args[1]();
|
||||
|
Loading…
x
Reference in New Issue
Block a user