diff --git a/client/app/scripts/stores/__tests__/app-store-test.js b/client/app/scripts/stores/__tests__/app-store-test.js index b6d38a231..aa71805f0 100644 --- a/client/app/scripts/stores/__tests__/app-store-test.js +++ b/client/app/scripts/stores/__tests__/app-store-test.js @@ -143,6 +143,23 @@ describe('AppStore', function() { expect(AppStore.getNodes()).toEqual(NODE_SET); }); + it('closes details when changing topologies', function() { + registeredCallback(ReceiveTopologiesAction); + registeredCallback(ClickTopologyAction); + registeredCallback(ReceiveNodesDeltaAction); + + expect(AppStore.getAppState()) + .toEqual({"topologyId":"topo1","selectedNodeId": null}); + + registeredCallback(ClickNodeAction); + expect(AppStore.getAppState()) + .toEqual({"topologyId":"topo1","selectedNodeId": 'n1'}); + + registeredCallback(ClickSubTopologyAction); + expect(AppStore.getAppState()) + .toEqual({"topologyId":"topo1-grouped","selectedNodeId": null}); + }); + // connection errors it('resets topology on websocket reconnect', function() { diff --git a/client/app/scripts/stores/app-store.js b/client/app/scripts/stores/app-store.js index 848dbf838..3f5c00253 100644 --- a/client/app/scripts/stores/app-store.js +++ b/client/app/scripts/stores/app-store.js @@ -145,6 +145,7 @@ AppStore.registeredCallback = function(payload) { break; case ActionTypes.CLICK_TOPOLOGY: + selectedNodeId = null; if (payload.topologyId !== currentTopologyId) { currentTopologyId = payload.topologyId; nodes = {};