This article will help you:
- how to test your module and ensure that changes and additions are not breaking the underlying logic (conditions)
- understand what the Inspect Session Manager is and how it can be used to review,
manage, and monitor saved Inspect sessions
What is the Inspect Session Manager?
Complex and large modules make testing and understanding what is happening in the Module difficult. While Inspect mode allows authors to debug their modules quicker and easier, Inspect sessions ended the moment the author closed their window. Using the Inspect Session Manager authors are now able to save, load, and replay test sessions.
If you are not familiar with Inspect mode already, we recommend you review the Inspect mode first, before continuing to read the current article.
Why is the Inspect Session Manager useful?
Using the Inspect Session Manager authors can save, load, and replay test sessions, making it easier than before to test and/or debug Modules. By saving a session, authors can create scenarios they wish to ensure remain true, save an in-progress part of their work, or save a specific path they wish to share for, e.g., collaboration or peer review purposes. Automatic testing tells the author where their Module has stopped working, allowing them to resolve an issue quickly or record a new session against an updated logic.
There are several useful applications for the Inspect Session Manager, including:
- Creating sessions for known cases you want to ensure execute flawlessly along a specific sequence of a Module.
- Creating a session to test a specific section of a long and complex Module you wish to test.
- Creating a session of behavior you wish to review with a colleague.
How to use the Inspect Session Manager
 Accessing Inspect mode
As a default, any module appears in Build mode, the regular editor interface. In order to enter Inspect mode, click the 'Inspect' tab at the top of the editor pane.
Inspect will then enable and open Inspect mode. This is indicated by the 'Inspect' tab turning from grey to blue. Authors can switch back and forth between Build and Inspect mode freely.
A new Inspect session is automatically created when Inspect mode is first entered or an existing session is resumed if one is in progress already.
 Inspect session Name
The default name for an Inspect session is 'Inspect session' but can be changed by entering a name when saving the current session. Additionally, there is the option to rename an existing session in the Session Manager.
 Save status
'Unsaved' is displayed when the current session has not been saved yet. Immediately after saving 'Saved' appears for a short moment and then disappears, indicating that the current session has been saved. If the current session has unsaved changes, next to the session title will read 'Edited'.
 Session options
Authors can access session options via the folder icon next to the session name.
- New: Clear current session and create a new one
- Save: Save the current session. If the session is unnamed, authors will be asked to enter a name. If it is a named session, the current state of the session will overwrite the last saved one.
- Save as...: Save the current session under a new name.
- Open: Open the Inspect Session Manager.
 Session Manager
Click this icon to access the Session Manager. This will display a modal window showing any saved sessions or – if no session has been saved yet – prompt the author to save one.
 Additional options
Clicking the overflow menu '...' icon opens a drop-down menu with the option to 'Preview from here'. Selecting this will open a full-screen preview starting from the node that is currently shown in Inspect preview.
 Inspect preview
The sidebar splits into two areas. The Inspect preview displays the current Input node of the Inspect session.
 Session data table
The Session data table displays the selected data of the current Inspect session.
 Highlighted path
The path – which is dependent on the selections made in the preview module – will be highlighted in green. The different Nodes along the path are highlighted to indicate that they were passed through on the way to the Result Node. You can click on any of the previous, highlighted nodes in the path to be taken to that part of the session, allowing you to change data and examine its effect on the pathway.
Managing Inspect Sessions
There are three sections in the Session Manager:
When loading the session manager, all saved sessions are tested against the current version of the Module. The summary shows the status of the tests, as well as the number of passing and failing Inspect sessions.
 Session list
The Session list displays all saved sessions, including the time when they were last updated. The '...' overflow menu offers additional options:
- Rename: Rename a session from your list.
- Duplicate: Duplicate a session, for instance, to modify an existing status.
- Delete: Delete a session from your list.
 Session table
When selecting a session from the Session list, a preview of the Session table is displayed in the right half of the screen. This shows all of the data in a session, even if it could not be played back through the module.
When a session is passing, all rows will be displayed as green. This means the session data was successfully run through all Inputs recorded in the session.
A failing session will display a red row where the Session could no longer continue. Any remaining data will be displayed for context only and is indicated by a soft fade.
Loading a session from the Session Manager will replace any current active session. If there are unsaved changes, the author will be asked for confirmation. If the session is failing, only data up until the point at which the session fails will be loaded, as the module cannot proceed from that point.
💡 Sessions are saved remotely and are shared across all users.
Changes to the Module will likely result in breaking any Inspect session that is created against it. While fixing conditional logic can make a falling session pass, changes to Nodes themselves will likely require the author to start a new session.
When you load a session that reaches a Result Node and you navigate to a previous Node, the Result will be removed from the active session until another Result is reached.