ui.test.js (4547B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 const expect = require("expect"); 7 8 const actions = require("resource://devtools/client/webconsole/actions/index.js"); 9 const { 10 setupStore, 11 getFirstMessage, 12 getLastMessage, 13 } = require("resource://devtools/client/webconsole/test/node/helpers.js"); 14 const { 15 stubPackets, 16 stubPreparedMessages, 17 } = require("resource://devtools/client/webconsole/test/node/fixtures/stubs/index.js"); 18 19 describe("Testing UI", () => { 20 let store; 21 22 beforeEach(() => { 23 store = setupStore(); 24 }); 25 26 describe("Toggle sidebar", () => { 27 it("sidebar is toggled on and off", () => { 28 const packet = stubPackets.get("inspect({a: 1})"); 29 const message = stubPreparedMessages.get("inspect({a: 1})"); 30 store.dispatch(actions.messagesAdd([packet])); 31 32 const { actorID } = message.parameters[0]; 33 const messageId = getFirstMessage(store.getState()).id; 34 store.dispatch(actions.showMessageObjectInSidebar(actorID, messageId)); 35 36 expect(store.getState().ui.sidebarVisible).toEqual(true); 37 store.dispatch(actions.sidebarClose()); 38 expect(store.getState().ui.sidebarVisible).toEqual(false); 39 }); 40 }); 41 42 describe("Hide sidebar on clear", () => { 43 it("sidebar is hidden on clear", () => { 44 const packet = stubPackets.get("inspect({a: 1})"); 45 const message = stubPreparedMessages.get("inspect({a: 1})"); 46 store.dispatch(actions.messagesAdd([packet])); 47 48 const { actorID } = message.parameters[0]; 49 const messageId = getFirstMessage(store.getState()).id; 50 store.dispatch(actions.showMessageObjectInSidebar(actorID, messageId)); 51 52 expect(store.getState().ui.sidebarVisible).toEqual(true); 53 store.dispatch(actions.messagesClear()); 54 expect(store.getState().ui.sidebarVisible).toEqual(false); 55 store.dispatch(actions.messagesClear()); 56 expect(store.getState().ui.sidebarVisible).toEqual(false); 57 }); 58 }); 59 60 describe("Show object in sidebar", () => { 61 it("sidebar is shown with correct object", () => { 62 const packet = stubPackets.get("inspect({a: 1})"); 63 const message = stubPreparedMessages.get("inspect({a: 1})"); 64 store.dispatch(actions.messagesAdd([packet])); 65 66 const { actorID } = message.parameters[0]; 67 const messageId = getFirstMessage(store.getState()).id; 68 store.dispatch(actions.showMessageObjectInSidebar(actorID, messageId)); 69 70 expect(store.getState().ui.sidebarVisible).toEqual(true); 71 expect(store.getState().ui.frontInSidebar).toEqual(message.parameters[0]); 72 }); 73 74 it("sidebar is not updated for the same object", () => { 75 const packet = stubPackets.get("inspect({a: 1})"); 76 const message = stubPreparedMessages.get("inspect({a: 1})"); 77 store.dispatch(actions.messagesAdd([packet])); 78 79 const { actorID } = message.parameters[0]; 80 const messageId = getFirstMessage(store.getState()).id; 81 store.dispatch(actions.showMessageObjectInSidebar(actorID, messageId)); 82 83 expect(store.getState().ui.sidebarVisible).toEqual(true); 84 expect(store.getState().ui.frontInSidebar).toEqual(message.parameters[0]); 85 const state = store.getState().ui; 86 87 store.dispatch(actions.showMessageObjectInSidebar(actorID, messageId)); 88 expect(store.getState().ui).toEqual(state); 89 }); 90 91 it("sidebar shown and updated for new object", () => { 92 const packet = stubPackets.get("inspect({a: 1})"); 93 const message = stubPreparedMessages.get("inspect({a: 1})"); 94 store.dispatch(actions.messagesAdd([packet])); 95 96 const { actorID } = message.parameters[0]; 97 const messageId = getFirstMessage(store.getState()).id; 98 store.dispatch(actions.showMessageObjectInSidebar(actorID, messageId)); 99 100 expect(store.getState().ui.sidebarVisible).toEqual(true); 101 expect(store.getState().ui.frontInSidebar).toEqual(message.parameters[0]); 102 103 const newPacket = stubPackets.get("new Date(0)"); 104 const newMessage = stubPreparedMessages.get("new Date(0)"); 105 store.dispatch(actions.messagesAdd([newPacket])); 106 107 const newActorID = newMessage.parameters[0].actorID; 108 const newMessageId = getLastMessage(store.getState()).id; 109 store.dispatch( 110 actions.showMessageObjectInSidebar(newActorID, newMessageId) 111 ); 112 113 expect(store.getState().ui.sidebarVisible).toEqual(true); 114 expect(store.getState().ui.frontInSidebar).toEqual( 115 newMessage.parameters[0] 116 ); 117 }); 118 }); 119 });