Repository: ansible/ansible-navigator (language: python)

Issue:
Consider adding roles to what is catalogued within a collection

Fix EE volume mount issue
When working on #1059 I noticed this:

The issue was a EEV entry with source of C.PREVIOUS_CLI was being processed as if it was a settings file entry, it can be seen:

```
220307235030.086 WARNING 'ansible_navigator.actions.config._update_args' The following execution-environment.volume-mounts entry could not be parsed: /home/collections:/tmp/collections_to_volmount:z
220307235030.086 INFO 'ansible_navigator.actions.config._update_args' The value of execution-environment.volume-mounts should be list of dictionaries and valid keys are 'src', 'dest' and 'label'.
```

Overview:

- Add a `from_string` and `from_dictionary` method to `VolumeMount`
- Refactor `execution_environment_volume_mounts` to build a list of `VolumeMount`
- Check the source of all volume mounts and exit early if one is not real
- Update tests to use `/tmp` instead of fake directories to avoid the early exit
- Added per SettingsEntry env var split character to account for a `,` in the EE volmounts

Some more tests coming as well.


Discussion / hints:
This would be a nice feature to have.  I imagine two ways to browse the roles..
1) menu-like list of the roles involved with the ability to open them up in an external editor
2) Search the roles/playbooks for a variable name (or some regex) and get a list of the files you can select from to edit in an external editor

For myself, when I open up a role for editing I like to see the variables and the tasks at the same time.  I usually use something like this..

vim -O defaults/main.yml tasks/main.yml

I've written a BASH script that performs the functions I've suggested here.  You're welcome to take a look and use whatever you want from it.
[virole.txt](https://github.com/ansible/ansible-navigator/files/6908193/virole.txt)

FWIW - with the new roles arspec in place, we have the start of documentation autogeneration from roles. You can see it in this PR - https://github.com/ansible-community/antsibull/pull/272 and the places it links to. I expect that will be merged shortly, and it's something that navigator could display per role (for roles that use the argspec).


Fix patch:
diff --git a/docs/changelog-fragments.d/1059.feature.md b/docs/changelog-fragments.d/1059.feature.md
new file mode 100644
index 000000000..f2ce5a8f1
--- /dev/null
+++ b/docs/changelog-fragments.d/1059.feature.md
@@ -0,0 +1,3 @@
+Included roles from collections in `:collections`.
+
+-- by {user}`cidrblock`
diff --git a/share/ansible_navigator/utils/catalog_collections.py b/share/ansible_navigator/utils/catalog_collections.py
index e3a319eb0..b3309f9e9 100644
--- a/share/ansible_navigator/utils/catalog_collections.py
+++ b/share/ansible_navigator/utils/catalog_collections.py
@@ -15,10 +15,12 @@
 from json.decoder import JSONDecodeError
 from pathlib import Path
 from typing import TYPE_CHECKING
+from typing import Any
 from typing import Dict
 from typing import Generator
 from typing import List
 from typing import Tuple
+from typing import Union
 
 import yaml
 
@@ -97,6 +99,101 @@ def _catalog_plugins(self, collection: Dict) -> None:
                     collection,
                 )
 
+    def _catalog_roles(self, collection: Dict[str, Any]) -> None:
+        """Catalog the roles within a collection.
+
+        :param collection: Details describing the collection
+        """
+        # pylint: disable=too-many-locals
+        # pylint: disable=too-many-statements
+
+        collection_name: str = collection["known_as"]
+        collection["roles"] = []
+        roles_directory = Path(collection["path"], "roles")
+        if not roles_directory.is_dir():
+            return
+
+        for role_directory in roles_directory.iterdir():
+            role: Dict[str, Union[str, Dict[str, Any]]] = {
+                "short_name": role_directory.name,
+                "full_name": f"{collection_name}.{role_directory.name}",
+            }
+            error_cataloging_role = False
+
+            # Argument spec cataloging, it is not required
+            argspec_name = "argument_specs.yml"
+            argspec_path = role_directory / "meta" / argspec_name
+            role["argument_specs"] = {}
+            role["argument_specs_path"] = ""
+            error = {"path": str(argspec_path)}
+            try:
+                with argspec_path.open(encoding="utf-8") as fh:
+                    role["argument_specs"] = yaml.load(fh, Loader=SafeLoader)["argument_specs"]
+                    role["argument_specs_path"] = str(argspec_path)
+            except KeyError:
+                error["error"] = f"Malformed {argspec_name} for role in {collection_name}."
+                self._errors.append(error)
+            except FileNotFoundError:
+                error["error"] = f"Failed to find {argspec_name} for role in {collection_name}."
+                self._errors.append(error)
+            except YAMLError:
+                error["error"] = f"Failed to load {argspec_name} for role in {collection_name}."
+                self._errors.append(error)
+
+            # Defaults cataloging, it is not required
+            defaults_name = "main.yml"
+            defaults_path = role_directory / "defaults" / defaults_name
+            role["defaults"] = {}
+            role["defaults_path"] = ""
+            error = {"path": str(defaults_path)}
+            try:
+                with defaults_path.open(encoding="utf-8") as fh:
+                    role["defaults"] = yaml.load(fh, Loader=SafeLoader)
+                    role["defaults_path"] = str(defaults_path)
+            except FileNotFoundError:
+                pass
+            except YAMLError:
+                error["error"] = f"Failed to load {defaults_name} for role in {collection_name}."
+                self._errors.append(error)
+                error_cataloging_role = True
+
+            # Meta/main.yml cataloging, it is required
+            meta_name = "main.yml"
+            meta_path = role_directory / "meta" / meta_name
+            role["info"] = {}
+            role["info_path"] = ""
+            error = {"path": str(meta_path)}
+            try:
+                with meta_path.open(encoding="utf-8") as fh:
+                    role["info"] = yaml.load(fh, Loader=SafeLoader)
+                    role["info_path"] = str(meta_path)
+            except FileNotFoundError:
+                error["error"] = f"Failed to find {meta_name} for role in {collection_name}."
+                self._errors.append(error)
+                error_cataloging_role = True
+            except YAMLError:
+                error["error"] = f"Failed to load {meta_name} for role in {collection_name}."
+                self._errors.append(error)
+                error_cataloging_role = True
+
+            # Readme.md cataloging, it is required
+            readme_name = "README.md"
+            readme_path = role_directory / readme_name
+            role["readme"] = ""
+            role["readme_path"] = ""
+            error = {"path": str(readme_path)}
+            try:
+                with readme_path.open(encoding="utf-8") as fh:
+                    role["readme"] = fh.read()
+                    role["readme_path"] = str(readme_path)
+            except FileNotFoundError:
+                error["error"] = f"Failed to find {readme_name} for role in {collection_name}."
+                self._errors.append(error)
+                error_cataloging_role = True
+
+            if not error_cataloging_role:
+                collection["roles"].append(role)
+
     @staticmethod
     def _generate_checksum(file_path: Path, relative_path: Path) -> Dict:
         """Generate a standard checksum for a file.
@@ -229,6 +326,7 @@ def process_directories(self) -> Tuple[Dict, List]:
                 self._one_path(collection_directory)
         for _collection_path, collection in self._collections.items():
             self._catalog_plugins(collection)
+            self._catalog_roles(collection)
         self._find_shadows()
         return self._collections, self._errors
 
diff --git a/src/ansible_navigator/actions/collections.py b/src/ansible_navigator/actions/collections.py
index 6857253f7..764121749 100644
--- a/src/ansible_navigator/actions/collections.py
+++ b/src/ansible_navigator/actions/collections.py
@@ -44,7 +44,7 @@ def color_menu(colno: int, colname: str, entry: Dict[str, Any]) -> Tuple[int, in
     """
     if entry.get("__shadowed") is True:
         return 8, 0
-    if entry.get("__deprecated") is True:
+    if entry.get("__deprecated") == "True":
         return 9, 0
     return 2, 0
 
@@ -204,12 +204,12 @@ def _build_main_menu(self):
         return Step(
             name="all_collections",
             columns=columns,
-            select_func=self._build_plugin_menu,
+            select_func=self._build_collection_content_menu,
             step_type="menu",
             value=self._collections,
         )
 
-    def _build_plugin_menu(self):
+    def _build_collection_content_menu(self):
         """Build the menu of plugins.
 
         :returns: The plugin menu definition
@@ -217,7 +217,7 @@ def _build_plugin_menu(self):
         self._collection_cache.open()
         selected_collection = self._collections[self.steps.current.index]
         collection_name = f"__{selected_collection['known_as']}"
-        plugins = []
+        collection_contents = []
         for plugin_checksum, details in selected_collection["plugin_checksums"].items():
             try:
                 plugin_json = self._collection_cache[plugin_checksum]
@@ -241,38 +241,51 @@ def _build_plugin_menu(self):
                     plugin["__description"] = plugin["doc"]["short_description"]
 
                     runtime_section = "modules" if details["type"] == "module" else details["type"]
-                    plugin["__deprecated"] = False
+                    plugin["__deprecated"] = "False"
                     try:
                         routing_info = selected_collection["runtime"]["plugin_routing"]
                         runtime_info = routing_info[runtime_section][short_name]
                         plugin["additional_information"] = runtime_info
                         if "deprecation" in runtime_info:
-                            plugin["__deprecated"] = True
+                            plugin["__deprecated"] = "True"
                     except KeyError:
                         plugin["additional_information"] = {}
 
-                    plugins.append(plugin)
+                    collection_contents.append(plugin)
             except (KeyError, JSONDecodeError) as exc:
                 self._logger.error("error loading plugin doc %s", details)
                 self._logger.debug("error was %s", str(exc))
-        plugins = sorted(plugins, key=lambda i: i[collection_name])
+
         self._collection_cache.close()
 
+        for role in selected_collection["roles"]:
+            role[collection_name] = role["short_name"]
+            try:
+                role["__description"] = role["info"]["galaxy_info"]["description"]
+            except KeyError:
+                role["__description"] = ""
+            role["__deprecated"] = "Unknown"
+            role["__added"] = "Unknown"
+            role["__type"] = "role"
+            collection_contents.append(role)
+
+        collection_contents = sorted(collection_contents, key=lambda i: i[collection_name])
+
         return Step(
-            name="all_plugins",
+            name="all_collection_content",
             columns=[collection_name, "__type", "__added", "__deprecated", "__description"],
-            select_func=self._build_plugin_content,
+            select_func=self._build_collection_content,
             step_type="menu",
-            value=plugins,
+            value=collection_contents,
         )
 
-    def _build_plugin_content(self):
+    def _build_collection_content(self):
         """Build the content for one plugin.
 
         :returns: The plugin's content
         """
         return Step(
-            name="plugin_content",
+            name="collection_content",
             step_type="content",
             value=self.steps.current.value,
             index=self.steps.current.index,


Test patch:
diff --git a/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md
new file mode 100644
index 000000000..498f6e5f4
--- /dev/null
+++ b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md
@@ -0,0 +1,8 @@
+# Role full
+
+This is a role with:
+
+- defaults/main.yml
+- meta/argument_spec.yml
+- meta/main.yml
+- README.md
diff --git a/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml
new file mode 100644
index 000000000..11ed53d99
--- /dev/null
+++ b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml
@@ -0,0 +1,4 @@
+---
+role_full_bool: True
+role_full_int: 42
+role_full_str: Test string
diff --git a/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml
new file mode 100644
index 000000000..49e5111d1
--- /dev/null
+++ b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml
@@ -0,0 +1,26 @@
+---
+argument_specs:
+  # roles/role_full/tasks/main.yml entry point
+  main:
+    short_description: The main entry point for the role_full role.
+    options:
+      role_full_int:
+        description: "The integer value, defaulting to 42."
+        default: 42
+        required: false
+        type: "int"
+
+      role_full_str:
+        description: "The string value"
+        required: true
+        type: "str"
+
+  # roles/role_full/tasks/alternate.yml entry point
+  alternate:
+    short_description: The alternate entry point for the role_full role.
+    options:
+      role_full_int:
+        description: "The integer value, defaulting to 1024."
+        default: 1024
+        required: false
+        type: "int"
diff --git a/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml
new file mode 100644
index 000000000..01415c29f
--- /dev/null
+++ b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml
@@ -0,0 +1,13 @@
+---
+galaxy_info:
+  author: Ansible team (ansible-navigator)
+  description: Complete sample role.
+  company: Ansible
+  license: LICENSE
+  min_ansible_version: 2.9.0
+  galaxy_tags: ["tag_1", "tag_2"]
+  platforms:
+    - name: eos
+      versions:
+        - all
+dependencies: []
diff --git a/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md
new file mode 100644
index 000000000..a10ea5e4a
--- /dev/null
+++ b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md
@@ -0,0 +1,11 @@
+# Role minimum
+
+This is a role with:
+
+- meta/main.yml
+- README.md
+
+This is a role without:
+
+- defaults/main.yml
+- meta/argument_spec.yml
diff --git a/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml
new file mode 100644
index 000000000..2c119f40a
--- /dev/null
+++ b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml
@@ -0,0 +1,13 @@
+---
+galaxy_info:
+  author: Ansible team (ansible-navigator)
+  description: Minimal sample role.
+  company: Ansible
+  license: LICENSE
+  min_ansible_version: 2.9.0
+  galaxy_tags: ["tag_1", "tag_2"]
+  platforms:
+    - name: eos
+      versions:
+        - all
+dependencies: []
diff --git a/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_missing/_README.md b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_missing/_README.md
new file mode 100644
index 000000000..a4045e5ea
--- /dev/null
+++ b/tests/fixtures/common/collections/ansible_collections/company_name/coll_1/roles/role_missing/_README.md
@@ -0,0 +1,8 @@
+# Role missing
+
+This is a role without:
+
+- defaults/main.yml
+- meta/argument_spec.yml
+- meta/main.yml
+- README.md
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/0.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/0.json
index bbc227941..9b4a4dd76 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/0.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/0.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[0-ansible-navigator collections --execution-environment true-ansible-navigator collections browse window]",
+    "name": "test[00-ansible-navigator collections --ee True --ll debug --mode interactive-ansible-navigator collections top window]",
     "index": 0,
-    "comment": "ansible-navigator collections browse window",
+    "comment": "ansible-navigator collections top window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "  NAME                       VERSION    SHADOWED    TYPE           PATH",
         "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json
index 4c700abed..9261acb9d 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[1-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[01-:0-Browse company_name.coll_1 plugins window]",
     "index": 1,
     "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json
index 6cac87042..8c2a7871a 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json
@@ -1,62 +1,16 @@
 {
-    "name": "test[10-:1-mod_2 plugin docs window]",
+    "name": "test[10-:back-Back to ansible-navigator collections browse window]",
     "index": 10,
-    "comment": "mod_2 plugin docs window",
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "COMPANY_NAME.COLL_2.MOD_2: This is a test module",
-        " 0│---",
-        " 1│additional_information: {}",
-        " 2│collection_info:",
-        " 3│  authors:",
-        " 4│  - Ansible team (ansible-navigator)",
-        " 5│  license_file: LICENSE",
-        " 6│  name: company_name.coll_2",
-        " 7│  namespace: company_name",
-        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
-        " 9│  readme: README.md",
-        "10│  shadowed_by: []",
-        "11│  version: 2.0.0",
-        "12│doc:",
-        "13│  author:",
-        "14│  - test",
-        "15│  description:",
-        "16│  - This is a test module",
-        "17│  module: mod_2",
-        "18│  notes:",
-        "19│  - This is a dummy module",
-        "20│  options:",
-        "21│    bar:",
-        "22│      aliases:",
-        "23│      - bam",
-        "24│      choices:",
-        "25│      - candidate",
-        "26│      - running",
-        "27│      default: candidate",
-        "28│      description:",
-        "29│      - Dummy option I(bar)",
-        "30│      type: str",
-        "31│    foo:",
-        "32│      description:",
-        "33│      - Dummy option I(foo)",
-        "34│      type: str",
-        "35│  short_description: This is a test module",
-        "36│  version_added: 2.0.0",
-        "37│  version_added_collection: company_name.coll_2",
-        "38│examples: |-",
-        "39│  - name: test task-1",
-        "40│    company_name.coll_2.mod_2:",
-        "41│      foo: somevalue",
-        "42│      bar: candidate",
-        "43│full_name: company_name.coll_2.mod_2",
-        "44│metadata: null",
-        "45│returndocs:",
-        "46│  baz:",
-        "47│    description: test return 1",
-        "48│    returned: success",
-        "49│    sample:",
-        "50│    - a",
-        "51│    - b",
-        "52│    type: list",
-        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
+        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json
index d45ecc09a..6d53c2d05 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json
@@ -1,11 +1,16 @@
 {
-    "name": "test[11-:back-Back to browse company_name.coll_2 plugins window]",
+    "name": "test[11-:1-Browse company_name.coll_2 plugins window]",
     "index": 11,
-    "comment": "Back to browse company_name.coll_2 plugins window",
+    "comment": "Browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/12.json
index a32441d32..9aad4373b 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/12.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/12.json
@@ -1,11 +1,58 @@
 {
-    "name": "test[12-:back-Back to ansible-navigator collections browse window]",
+    "name": "test[12-:0-lookup_2 plugin docs window]",
     "index": 12,
-    "comment": "Back to ansible-navigator collections browse window",
+    "comment": "lookup_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
-        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+        "COMPANY_NAME.COLL_2.LOOKUP_2: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_2",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 2.0.0",
+        "33│  version_added_collection: company_name.coll_2",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"",
+        "38│full_name: company_name.coll_2.lookup_2",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/13.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/13.json
new file mode 100644
index 000000000..ca0bc9773
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/13.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[13-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 13,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/14.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/14.json
new file mode 100644
index 000000000..297a327d9
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/14.json
@@ -0,0 +1,67 @@
+{
+    "name": "test[14-:1-mod_2 plugin docs window]",
+    "index": 14,
+    "comment": "mod_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_2.MOD_2: This is a test module",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author:",
+        "14│  - test",
+        "15│  description:",
+        "16│  - This is a test module",
+        "17│  module: mod_2",
+        "18│  notes:",
+        "19│  - This is a dummy module",
+        "20│  options:",
+        "21│    bar:",
+        "22│      aliases:",
+        "23│      - bam",
+        "24│      choices:",
+        "25│      - candidate",
+        "26│      - running",
+        "27│      default: candidate",
+        "28│      description:",
+        "29│      - Dummy option I(bar)",
+        "30│      type: str",
+        "31│    foo:",
+        "32│      description:",
+        "33│      - Dummy option I(foo)",
+        "34│      type: str",
+        "35│  short_description: This is a test module",
+        "36│  version_added: 2.0.0",
+        "37│  version_added_collection: company_name.coll_2",
+        "38│examples: |-",
+        "39│  - name: test task-1",
+        "40│    company_name.coll_2.mod_2:",
+        "41│      foo: somevalue",
+        "42│      bar: candidate",
+        "43│full_name: company_name.coll_2.mod_2",
+        "44│metadata: null",
+        "45│returndocs:",
+        "46│  baz:",
+        "47│    description: test return 1",
+        "48│    returned: success",
+        "49│    sample:",
+        "50│    - a",
+        "51│    - b",
+        "52│    type: list",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/15.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/15.json
new file mode 100644
index 000000000..9b861bfa4
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/15.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[15-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 15,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json
new file mode 100644
index 000000000..509ac54fb
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[16-:back-Back to ansible-navigator collections browse window]",
+    "index": 16,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
+        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json
new file mode 100644
index 000000000..da50a1935
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[17-:collections --ee FFFFF-Provide an invalid ee value]",
+    "index": 17,
+    "comment": "Provide an invalid ee value",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
+        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json
new file mode 100644
index 000000000..5c6c44689
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[18-:0-Browse company_name.coll_1 plugins window]",
+    "index": 18,
+    "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/19.json
new file mode 100644
index 000000000..395e6e8aa
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/19.json
@@ -0,0 +1,58 @@
+{
+    "name": "test[19-:0-lookup_1 plugin docs window]",
+    "index": 19,
+    "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_1",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 1.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_1",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 1.0.0",
+        "33│  version_added_collection: company_name.coll_1",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"",
+        "38│full_name: company_name.coll_1.lookup_1",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/2.json
index 7113160d4..c6f5de54c 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/2.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/2.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[2-:0-lookup_1 plugin docs window]",
+    "name": "test[02-:0-lookup_1 plugin docs window]",
     "index": 2,
     "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
         " 0│---",
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/3.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/3.json
index 488ff84a8..65580ab3f 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/3.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/3.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[3-:back-Back to browse company_name.coll_1 plugins window]",
+    "name": "test[03-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 3,
     "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/4.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/4.json
index 91f256277..3f045d639 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/4.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/4.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[4-:1-mod_1 plugin docs window]",
+    "name": "test[04-:1-mod_1 plugin docs window]",
     "index": 4,
     "comment": "mod_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "COMPANY_NAME.COLL_1.MOD_1: This is a test module",
         " 0│---",
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/5.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/5.json
index 3dc8bcced..11350f260 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/5.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/5.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[5-:back-Back to browse company_name.coll_1 plugins window]",
+    "name": "test[05-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 5,
     "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/6.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/6.json
index da8796a0f..075a1ef99 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/6.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/6.json
@@ -1,11 +1,70 @@
 {
-    "name": "test[6-:back-Back to ansible-navigator collections browse window]",
+    "name": "test[06-:2-role_full details window]",
     "index": 6,
-    "comment": "Back to ansible-navigator collections browse window",
+    "comment": "role_full details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
-        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+        "COMPANY_NAME.COLL_1.ROLE_FULL: Complete sample role.",
+        " 0│---",
+        " 1│argument_specs:",
+        " 2│  alternate:",
+        " 3│    options:",
+        " 4│      role_full_int:",
+        " 5│        default: 1024",
+        " 6│        description: The integer value, defaulting to 1024.",
+        " 7│        required: false",
+        " 8│        type: int",
+        " 9│    short_description: The alternate entry point for the role_full role.",
+        "10│  main:",
+        "11│    options:",
+        "12│      role_full_int:",
+        "13│        default: 42",
+        "14│        description: The integer value, defaulting to 42.",
+        "15│        required: false",
+        "16│        type: int",
+        "17│      role_full_str:",
+        "18│        description: The string value",
+        "19│        required: true",
+        "20│        type: str",
+        "21│    short_description: The main entry point for the role_full role.",
+        "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml",
+        "23│defaults:",
+        "24│  role_full_bool: true",
+        "25│  role_full_int: 42",
+        "26│  role_full_str: Test string",
+        "27│defaults_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml",
+        "28│full_name: company_name.coll_1.role_full",
+        "29│info:",
+        "30│  dependencies: []",
+        "31│  galaxy_info:",
+        "32│    author: Ansible team (ansible-navigator)",
+        "33│    company: Ansible",
+        "34│    description: Complete sample role.",
+        "35│    galaxy_tags:",
+        "36│    - tag_1",
+        "37│    - tag_2",
+        "38│    license: LICENSE",
+        "39│    min_ansible_version: 2.9.0",
+        "40│    platforms:",
+        "41│    - name: eos",
+        "42│      versions:",
+        "43│      - all",
+        "44│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml",
+        "45│readme: |-",
+        "46│  # Role full",
+        "47│",
+        "48│  This is a role with:",
+        "49│",
+        "50│  - defaults/main.yml",
+        "51│  - meta/argument_spec.yml",
+        "52│  - meta/main.yml",
+        "53│  - README.md",
+        "54│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md",
+        "55│short_name: role_full",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/7.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/7.json
index 3a7fe22c6..39498edd3 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/7.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/7.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[7-:1-Browse company_name.coll_2 plugins window]",
+    "name": "test[07-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 7,
-    "comment": "Browse company_name.coll_2 plugins window",
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/8.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/8.json
index 9a753e8c6..5cb63739f 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/8.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/8.json
@@ -1,53 +1,50 @@
 {
-    "name": "test[8-:0-lookup_2 plugin docs window]",
+    "name": "test[08-:3-role_minimal details window]",
     "index": 8,
-    "comment": "lookup_2 plugin docs window",
+    "comment": "role_minimal details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "COMPANY_NAME.COLL_2.LOOKUP_2: This is test lookup plugin",
+        "COMPANY_NAME.COLL_1.ROLE_MINIMUM: Minimal sample role.",
         " 0│---",
-        " 1│additional_information: {}",
-        " 2│collection_info:",
-        " 3│  authors:",
-        " 4│  - Ansible team (ansible-navigator)",
-        " 5│  license_file: LICENSE",
-        " 6│  name: company_name.coll_2",
-        " 7│  namespace: company_name",
-        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
-        " 9│  readme: README.md",
-        "10│  shadowed_by: []",
-        "11│  version: 2.0.0",
-        "12│doc:",
-        "13│  author: test",
-        "14│  description:",
-        "15│  - This is test lookup plugin",
-        "16│  name: lookup_2",
-        "17│  notes:",
-        "18│  - This is a dummy lookup plugin",
-        "19│  options:",
-        "20│    bar:",
-        "21│      default: candidate",
-        "22│      description:",
-        "23│      - Dummy option I(bar)",
-        "24│      type: str",
-        "25│    foo:",
-        "26│      description:",
-        "27│      - Dummy option I(foo)",
-        "28│      required: true",
-        "29│      type: str",
-        "30│  plugin_type: lookup",
-        "31│  short_description: This is test lookup plugin",
-        "32│  version_added: 2.0.0",
-        "33│  version_added_collection: company_name.coll_2",
-        "34│examples: |-",
-        "35│  - name: Retrieve a value deep inside a using a path",
-        "36│        ansible.builtin.set_fact:",
-        "37│          value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"",
-        "38│full_name: company_name.coll_2.lookup_2",
-        "39│metadata: null",
-        "40│returndocs:",
-        "41│  _raw:",
-        "42│    description:",
-        "43│    - One or more zero-based indices of the matching list items.",
+        " 1│argument_specs: {}",
+        " 2│argument_specs_path: ''",
+        " 3│defaults: {}",
+        " 4│defaults_path: ''",
+        " 5│full_name: company_name.coll_1.role_minimum",
+        " 6│info:",
+        " 7│  dependencies: []",
+        " 8│  galaxy_info:",
+        " 9│    author: Ansible team (ansible-navigator)",
+        "10│    company: Ansible",
+        "11│    description: Minimal sample role.",
+        "12│    galaxy_tags:",
+        "13│    - tag_1",
+        "14│    - tag_2",
+        "15│    license: LICENSE",
+        "16│    min_ansible_version: 2.9.0",
+        "17│    platforms:",
+        "18│    - name: eos",
+        "19│      versions:",
+        "20│      - all",
+        "21│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml",
+        "22│readme: |-",
+        "23│  # Role minimum",
+        "24│",
+        "25│  This is a role with:",
+        "26│",
+        "27│  - meta/main.yml",
+        "28│  - README.md",
+        "29│",
+        "30│  This is a role without:",
+        "31│",
+        "32│  - defaults/main.yml",
+        "33│  - meta/argument_spec.yml",
+        "34│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md",
+        "35│short_name: role_minimum",
         "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/9.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/9.json
index fcced3c71..f7dd97d71 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/9.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/9.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[9-:back-Back to browse company_name.coll_2 plugins window]",
+    "name": "test[09-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 9,
-    "comment": "Back to browse company_name.coll_2 plugins window",
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/0.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/0.json
index bb4f7ab06..a845537c3 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/0.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/0.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[0-cd /tmp && ansible-navigator collections --execution-environment true --eev $ANSIBLE_COLLECTIONS_PATH/collections:/tmp/collections_to_volmount:Z --senv ANSIBLE_COLLECTIONS_PATH=/tmp/collections_to_volmount-ansible-navigator collections browse window]",
+    "name": "test[00-cd /tmp && ansible-navigator collections --ee True --ll debug --mode interactive --eev $ANSIBLE_COLLECTIONS_PATH/collections:/tmp/collections_to_volmount:Z --senv ANSIBLE_COLLECTIONS_PATH=/tmp/collections_to_volmount-ansible-navigator collections top window]",
     "index": 0,
-    "comment": "ansible-navigator collections browse window",
+    "comment": "ansible-navigator collections top window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "  NAME                              VERSION      SHADOWED       TYPE               PATH",
         "0│company_name.coll_1               1.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json
index 4c700abed..9261acb9d 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[1-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[01-:0-Browse company_name.coll_1 plugins window]",
     "index": 1,
     "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json
new file mode 100644
index 000000000..d83d83cf6
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[10-:back-Back to ansible-navigator collections browse window]",
+    "index": 10,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                              VERSION      SHADOWED       TYPE               PATH",
+        "0│company_name.coll_1               1.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2               2.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json
new file mode 100644
index 000000000..6d53c2d05
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[11-:1-Browse company_name.coll_2 plugins window]",
+    "index": 11,
+    "comment": "Browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/12.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/12.json
new file mode 100644
index 000000000..c956d5630
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/12.json
@@ -0,0 +1,58 @@
+{
+    "name": "test[12-:0-lookup_2 plugin docs window]",
+    "index": 12,
+    "comment": "lookup_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_2.LOOKUP_2: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_2",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 2.0.0",
+        "33│  version_added_collection: company_name.coll_2",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"",
+        "38│full_name: company_name.coll_2.lookup_2",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/13.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/13.json
new file mode 100644
index 000000000..ca0bc9773
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/13.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[13-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 13,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/14.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/14.json
new file mode 100644
index 000000000..d495c445a
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/14.json
@@ -0,0 +1,67 @@
+{
+    "name": "test[14-:1-mod_2 plugin docs window]",
+    "index": 14,
+    "comment": "mod_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_2.MOD_2: This is a test module",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author:",
+        "14│  - test",
+        "15│  description:",
+        "16│  - This is a test module",
+        "17│  module: mod_2",
+        "18│  notes:",
+        "19│  - This is a dummy module",
+        "20│  options:",
+        "21│    bar:",
+        "22│      aliases:",
+        "23│      - bam",
+        "24│      choices:",
+        "25│      - candidate",
+        "26│      - running",
+        "27│      default: candidate",
+        "28│      description:",
+        "29│      - Dummy option I(bar)",
+        "30│      type: str",
+        "31│    foo:",
+        "32│      description:",
+        "33│      - Dummy option I(foo)",
+        "34│      type: str",
+        "35│  short_description: This is a test module",
+        "36│  version_added: 2.0.0",
+        "37│  version_added_collection: company_name.coll_2",
+        "38│examples: |-",
+        "39│  - name: test task-1",
+        "40│    company_name.coll_2.mod_2:",
+        "41│      foo: somevalue",
+        "42│      bar: candidate",
+        "43│full_name: company_name.coll_2.mod_2",
+        "44│metadata: null",
+        "45│returndocs:",
+        "46│  baz:",
+        "47│    description: test return 1",
+        "48│    returned: success",
+        "49│    sample:",
+        "50│    - a",
+        "51│    - b",
+        "52│    type: list",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/15.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/15.json
new file mode 100644
index 000000000..9b861bfa4
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/15.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[15-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 15,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json
new file mode 100644
index 000000000..e791a83c5
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[16-:back-Back to ansible-navigator collections browse window]",
+    "index": 16,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                              VERSION      SHADOWED       TYPE               PATH",
+        "0│company_name.coll_1               1.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2               2.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json
new file mode 100644
index 000000000..0e8e39eb2
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[17-:collections --ee FFFFF-Provide an invalid ee value]",
+    "index": 17,
+    "comment": "Provide an invalid ee value",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                              VERSION      SHADOWED       TYPE               PATH",
+        "0│company_name.coll_1               1.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2               2.0.0           False       bind_mount         /tmp/collections_to_volmount/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json
new file mode 100644
index 000000000..5c6c44689
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[18-:0-Browse company_name.coll_1 plugins window]",
+    "index": 18,
+    "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/19.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/19.json
new file mode 100644
index 000000000..78f3cc469
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/19.json
@@ -0,0 +1,58 @@
+{
+    "name": "test[19-:0-lookup_1 plugin docs window]",
+    "index": 19,
+    "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_1",
+        " 7│  namespace: company_name",
+        " 8│  path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 1.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_1",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 1.0.0",
+        "33│  version_added_collection: company_name.coll_1",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"",
+        "38│full_name: company_name.coll_1.lookup_1",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/2.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/2.json
index 7d5512be2..7581f3f91 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/2.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/2.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[2-:0-lookup_1 plugin docs window]",
+    "name": "test[02-:0-lookup_1 plugin docs window]",
     "index": 2,
     "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
         " 0│---",
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/3.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/3.json
new file mode 100644
index 000000000..65580ab3f
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/3.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[03-:back-Back to browse company_name.coll_1 plugins window]",
+    "index": 3,
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/4.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/4.json
new file mode 100644
index 000000000..13536cb07
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/4.json
@@ -0,0 +1,67 @@
+{
+    "name": "test[04-:1-mod_1 plugin docs window]",
+    "index": 4,
+    "comment": "mod_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_1.MOD_1: This is a test module",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_1",
+        " 7│  namespace: company_name",
+        " 8│  path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 1.0.0",
+        "12│doc:",
+        "13│  author:",
+        "14│  - test",
+        "15│  description:",
+        "16│  - This is a test module",
+        "17│  module: mod_1",
+        "18│  notes:",
+        "19│  - This is a dummy module",
+        "20│  options:",
+        "21│    bar:",
+        "22│      aliases:",
+        "23│      - bam",
+        "24│      choices:",
+        "25│      - candidate",
+        "26│      - running",
+        "27│      default: candidate",
+        "28│      description:",
+        "29│      - Dummy option I(bar)",
+        "30│      type: str",
+        "31│    foo:",
+        "32│      description:",
+        "33│      - Dummy option I(foo)",
+        "34│      type: str",
+        "35│  short_description: This is a test module",
+        "36│  version_added: 1.0.0",
+        "37│  version_added_collection: company_name.coll_1",
+        "38│examples: |-",
+        "39│  - name: test task-1",
+        "40│    company_name.coll_1.mod_1:",
+        "41│      foo: somevalue",
+        "42│      bar: candidate",
+        "43│full_name: company_name.coll_1.mod_1",
+        "44│metadata: null",
+        "45│returndocs:",
+        "46│  baz:",
+        "47│    description: test return 1",
+        "48│    returned: success",
+        "49│    sample:",
+        "50│    - a",
+        "51│    - b",
+        "52│    type: list",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/5.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/5.json
new file mode 100644
index 000000000..11350f260
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/5.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[05-:back-Back to browse company_name.coll_1 plugins window]",
+    "index": 5,
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/6.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/6.json
new file mode 100644
index 000000000..fda274987
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/6.json
@@ -0,0 +1,70 @@
+{
+    "name": "test[06-:2-role_full details window]",
+    "index": 6,
+    "comment": "role_full details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_1.ROLE_FULL: Complete sample role.",
+        " 0│---",
+        " 1│argument_specs:",
+        " 2│  alternate:",
+        " 3│    options:",
+        " 4│      role_full_int:",
+        " 5│        default: 1024",
+        " 6│        description: The integer value, defaulting to 1024.",
+        " 7│        required: false",
+        " 8│        type: int",
+        " 9│    short_description: The alternate entry point for the role_full role.",
+        "10│  main:",
+        "11│    options:",
+        "12│      role_full_int:",
+        "13│        default: 42",
+        "14│        description: The integer value, defaulting to 42.",
+        "15│        required: false",
+        "16│        type: int",
+        "17│      role_full_str:",
+        "18│        description: The string value",
+        "19│        required: true",
+        "20│        type: str",
+        "21│    short_description: The main entry point for the role_full role.",
+        "22│argument_specs_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml",
+        "23│defaults:",
+        "24│  role_full_bool: true",
+        "25│  role_full_int: 42",
+        "26│  role_full_str: Test string",
+        "27│defaults_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml",
+        "28│full_name: company_name.coll_1.role_full",
+        "29│info:",
+        "30│  dependencies: []",
+        "31│  galaxy_info:",
+        "32│    author: Ansible team (ansible-navigator)",
+        "33│    company: Ansible",
+        "34│    description: Complete sample role.",
+        "35│    galaxy_tags:",
+        "36│    - tag_1",
+        "37│    - tag_2",
+        "38│    license: LICENSE",
+        "39│    min_ansible_version: 2.9.0",
+        "40│    platforms:",
+        "41│    - name: eos",
+        "42│      versions:",
+        "43│      - all",
+        "44│info_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml",
+        "45│readme: |-",
+        "46│  # Role full",
+        "47│",
+        "48│  This is a role with:",
+        "49│",
+        "50│  - defaults/main.yml",
+        "51│  - meta/argument_spec.yml",
+        "52│  - meta/main.yml",
+        "53│  - README.md",
+        "54│readme_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/README.md",
+        "55│short_name: role_full",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/7.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/7.json
new file mode 100644
index 000000000..39498edd3
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/7.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[07-:back-Back to browse company_name.coll_1 plugins window]",
+    "index": 7,
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/8.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/8.json
new file mode 100644
index 000000000..f40c593eb
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/8.json
@@ -0,0 +1,50 @@
+{
+    "name": "test[08-:3-role_minimal details window]",
+    "index": 8,
+    "comment": "role_minimal details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_1.ROLE_MINIMUM: Minimal sample role.",
+        " 0│---",
+        " 1│argument_specs: {}",
+        " 2│argument_specs_path: ''",
+        " 3│defaults: {}",
+        " 4│defaults_path: ''",
+        " 5│full_name: company_name.coll_1.role_minimum",
+        " 6│info:",
+        " 7│  dependencies: []",
+        " 8│  galaxy_info:",
+        " 9│    author: Ansible team (ansible-navigator)",
+        "10│    company: Ansible",
+        "11│    description: Minimal sample role.",
+        "12│    galaxy_tags:",
+        "13│    - tag_1",
+        "14│    - tag_2",
+        "15│    license: LICENSE",
+        "16│    min_ansible_version: 2.9.0",
+        "17│    platforms:",
+        "18│    - name: eos",
+        "19│      versions:",
+        "20│      - all",
+        "21│info_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml",
+        "22│readme: |-",
+        "23│  # Role minimum",
+        "24│",
+        "25│  This is a role with:",
+        "26│",
+        "27│  - meta/main.yml",
+        "28│  - README.md",
+        "29│",
+        "30│  This is a role without:",
+        "31│",
+        "32│  - defaults/main.yml",
+        "33│  - meta/argument_spec.yml",
+        "34│readme_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_minimum/README.md",
+        "35│short_name: role_minimum",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/9.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/9.json
new file mode 100644
index 000000000..f7dd97d71
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/9.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[09-:back-Back to browse company_name.coll_1 plugins window]",
+    "index": 9,
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/0.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/0.json
index 7509578a4..6a14871ab 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/0.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/0.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[0-ansible-navigator collections --execution-environment false-ansible-navigator collections browse window]",
+    "name": "test[00-ansible-navigator collections --ee False --ll debug --mode interactive-ansible-navigator collections top window]",
     "index": 0,
-    "comment": "ansible-navigator collections browse window",
+    "comment": "ansible-navigator collections top window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
         "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json
index 4c700abed..9261acb9d 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[1-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[01-:0-Browse company_name.coll_1 plugins window]",
     "index": 1,
     "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json
index 814f82ac8..1bd5a7444 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json
@@ -1,62 +1,16 @@
 {
-    "name": "test[10-:1-mod_2 plugin docs window]",
+    "name": "test[10-:back-Back to ansible-navigator collections browse window]",
     "index": 10,
-    "comment": "mod_2 plugin docs window",
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "COMPANY_NAME.COLL_2.MOD_2: This is a test module",
-        " 0│---",
-        " 1│additional_information: {}",
-        " 2│collection_info:",
-        " 3│  authors:",
-        " 4│  - Ansible team (ansible-navigator)",
-        " 5│  license_file: LICENSE",
-        " 6│  name: company_name.coll_2",
-        " 7│  namespace: company_name",
-        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
-        " 9│  readme: README.md",
-        "10│  shadowed_by: []",
-        "11│  version: 2.0.0",
-        "12│doc:",
-        "13│  author:",
-        "14│  - test",
-        "15│  description:",
-        "16│  - This is a test module",
-        "17│  module: mod_2",
-        "18│  notes:",
-        "19│  - This is a dummy module",
-        "20│  options:",
-        "21│    bar:",
-        "22│      aliases:",
-        "23│      - bam",
-        "24│      choices:",
-        "25│      - candidate",
-        "26│      - running",
-        "27│      default: candidate",
-        "28│      description:",
-        "29│      - Dummy option I(bar)",
-        "30│      type: str",
-        "31│    foo:",
-        "32│      description:",
-        "33│      - Dummy option I(foo)",
-        "34│      type: str",
-        "35│  short_description: This is a test module",
-        "36│  version_added: 2.0.0",
-        "37│  version_added_collection: company_name.coll_2",
-        "38│examples: |-",
-        "39│  - name: test task-1",
-        "40│    company_name.coll_2.mod_2:",
-        "41│      foo: somevalue",
-        "42│      bar: candidate",
-        "43│full_name: company_name.coll_2.mod_2",
-        "44│metadata: null",
-        "45│returndocs:",
-        "46│  baz:",
-        "47│    description: test return 1",
-        "48│    returned: success",
-        "49│    sample:",
-        "50│    - a",
-        "51│    - b",
-        "52│    type: list",
-        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+        "  NAME                         VERSION    SHADOWED     PATH",
+        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json
index d45ecc09a..6d53c2d05 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json
@@ -1,11 +1,16 @@
 {
-    "name": "test[11-:back-Back to browse company_name.coll_2 plugins window]",
+    "name": "test[11-:1-Browse company_name.coll_2 plugins window]",
     "index": 11,
-    "comment": "Back to browse company_name.coll_2 plugins window",
+    "comment": "Browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/12.json
index 76eaf4bd3..ee89f4e8b 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/12.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/12.json
@@ -1,11 +1,58 @@
 {
-    "name": "test[12-:back-Back to ansible-navigator collections browse window]",
+    "name": "test[12-:0-lookup_2 plugin docs window]",
     "index": 12,
-    "comment": "Back to ansible-navigator collections browse window",
+    "comment": "lookup_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
-        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+        "COMPANY_NAME.COLL_2.LOOKUP_2: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_2",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 2.0.0",
+        "33│  version_added_collection: company_name.coll_2",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"",
+        "38│full_name: company_name.coll_2.lookup_2",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/13.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/13.json
new file mode 100644
index 000000000..ca0bc9773
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/13.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[13-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 13,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/14.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/14.json
new file mode 100644
index 000000000..d49d358f3
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/14.json
@@ -0,0 +1,67 @@
+{
+    "name": "test[14-:1-mod_2 plugin docs window]",
+    "index": 14,
+    "comment": "mod_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_2.MOD_2: This is a test module",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author:",
+        "14│  - test",
+        "15│  description:",
+        "16│  - This is a test module",
+        "17│  module: mod_2",
+        "18│  notes:",
+        "19│  - This is a dummy module",
+        "20│  options:",
+        "21│    bar:",
+        "22│      aliases:",
+        "23│      - bam",
+        "24│      choices:",
+        "25│      - candidate",
+        "26│      - running",
+        "27│      default: candidate",
+        "28│      description:",
+        "29│      - Dummy option I(bar)",
+        "30│      type: str",
+        "31│    foo:",
+        "32│      description:",
+        "33│      - Dummy option I(foo)",
+        "34│      type: str",
+        "35│  short_description: This is a test module",
+        "36│  version_added: 2.0.0",
+        "37│  version_added_collection: company_name.coll_2",
+        "38│examples: |-",
+        "39│  - name: test task-1",
+        "40│    company_name.coll_2.mod_2:",
+        "41│      foo: somevalue",
+        "42│      bar: candidate",
+        "43│full_name: company_name.coll_2.mod_2",
+        "44│metadata: null",
+        "45│returndocs:",
+        "46│  baz:",
+        "47│    description: test return 1",
+        "48│    returned: success",
+        "49│    sample:",
+        "50│    - a",
+        "51│    - b",
+        "52│    type: list",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/15.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/15.json
new file mode 100644
index 000000000..9b861bfa4
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/15.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[15-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 15,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json
new file mode 100644
index 000000000..7efef7a7f
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[16-:back-Back to ansible-navigator collections browse window]",
+    "index": 16,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                         VERSION    SHADOWED     PATH",
+        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json
new file mode 100644
index 000000000..9d6d1ba2c
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[17-:collections --ee FFFFF-Provide an invalid ee value]",
+    "index": 17,
+    "comment": "Provide an invalid ee value",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                         VERSION    SHADOWED     PATH",
+        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json
new file mode 100644
index 000000000..5c6c44689
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[18-:0-Browse company_name.coll_1 plugins window]",
+    "index": 18,
+    "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/19.json
new file mode 100644
index 000000000..139ac5805
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/19.json
@@ -0,0 +1,58 @@
+{
+    "name": "test[19-:0-lookup_1 plugin docs window]",
+    "index": 19,
+    "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_1",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 1.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_1",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 1.0.0",
+        "33│  version_added_collection: company_name.coll_1",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"",
+        "38│full_name: company_name.coll_1.lookup_1",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/2.json
index 703cc31bb..25d8843ea 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/2.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/2.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[2-:0-lookup_1 plugin docs window]",
+    "name": "test[02-:0-lookup_1 plugin docs window]",
     "index": 2,
     "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
         " 0│---",
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/3.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/3.json
index 488ff84a8..65580ab3f 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/3.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/3.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[3-:back-Back to browse company_name.coll_1 plugins window]",
+    "name": "test[03-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 3,
     "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/4.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/4.json
index 8f3d75461..1a9243847 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/4.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/4.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[4-:1-mod_1 plugin docs window]",
+    "name": "test[04-:1-mod_1 plugin docs window]",
     "index": 4,
     "comment": "mod_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "COMPANY_NAME.COLL_1.MOD_1: This is a test module",
         " 0│---",
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/5.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/5.json
index 3dc8bcced..11350f260 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/5.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/5.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[5-:back-Back to browse company_name.coll_1 plugins window]",
+    "name": "test[05-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 5,
     "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/6.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/6.json
index 38855812e..316edf6e4 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/6.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/6.json
@@ -1,11 +1,70 @@
 {
-    "name": "test[6-:back-Back to ansible-navigator collections browse window]",
+    "name": "test[06-:2-role_full details window]",
     "index": 6,
-    "comment": "Back to ansible-navigator collections browse window",
+    "comment": "role_full details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
-        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+        "COMPANY_NAME.COLL_1.ROLE_FULL: Complete sample role.",
+        " 0│---",
+        " 1│argument_specs:",
+        " 2│  alternate:",
+        " 3│    options:",
+        " 4│      role_full_int:",
+        " 5│        default: 1024",
+        " 6│        description: The integer value, defaulting to 1024.",
+        " 7│        required: false",
+        " 8│        type: int",
+        " 9│    short_description: The alternate entry point for the role_full role.",
+        "10│  main:",
+        "11│    options:",
+        "12│      role_full_int:",
+        "13│        default: 42",
+        "14│        description: The integer value, defaulting to 42.",
+        "15│        required: false",
+        "16│        type: int",
+        "17│      role_full_str:",
+        "18│        description: The string value",
+        "19│        required: true",
+        "20│        type: str",
+        "21│    short_description: The main entry point for the role_full role.",
+        "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml",
+        "23│defaults:",
+        "24│  role_full_bool: true",
+        "25│  role_full_int: 42",
+        "26│  role_full_str: Test string",
+        "27│defaults_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml",
+        "28│full_name: company_name.coll_1.role_full",
+        "29│info:",
+        "30│  dependencies: []",
+        "31│  galaxy_info:",
+        "32│    author: Ansible team (ansible-navigator)",
+        "33│    company: Ansible",
+        "34│    description: Complete sample role.",
+        "35│    galaxy_tags:",
+        "36│    - tag_1",
+        "37│    - tag_2",
+        "38│    license: LICENSE",
+        "39│    min_ansible_version: 2.9.0",
+        "40│    platforms:",
+        "41│    - name: eos",
+        "42│      versions:",
+        "43│      - all",
+        "44│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml",
+        "45│readme: |-",
+        "46│  # Role full",
+        "47│",
+        "48│  This is a role with:",
+        "49│",
+        "50│  - defaults/main.yml",
+        "51│  - meta/argument_spec.yml",
+        "52│  - meta/main.yml",
+        "53│  - README.md",
+        "54│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md",
+        "55│short_name: role_full",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/7.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/7.json
index 3a7fe22c6..39498edd3 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/7.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/7.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[7-:1-Browse company_name.coll_2 plugins window]",
+    "name": "test[07-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 7,
-    "comment": "Browse company_name.coll_2 plugins window",
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/8.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/8.json
index ea8ced51c..b7420a090 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/8.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/8.json
@@ -1,53 +1,50 @@
 {
-    "name": "test[8-:0-lookup_2 plugin docs window]",
+    "name": "test[08-:3-role_minimal details window]",
     "index": 8,
-    "comment": "lookup_2 plugin docs window",
+    "comment": "role_minimal details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "COMPANY_NAME.COLL_2.LOOKUP_2: This is test lookup plugin",
+        "COMPANY_NAME.COLL_1.ROLE_MINIMUM: Minimal sample role.",
         " 0│---",
-        " 1│additional_information: {}",
-        " 2│collection_info:",
-        " 3│  authors:",
-        " 4│  - Ansible team (ansible-navigator)",
-        " 5│  license_file: LICENSE",
-        " 6│  name: company_name.coll_2",
-        " 7│  namespace: company_name",
-        " 8│  path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
-        " 9│  readme: README.md",
-        "10│  shadowed_by: []",
-        "11│  version: 2.0.0",
-        "12│doc:",
-        "13│  author: test",
-        "14│  description:",
-        "15│  - This is test lookup plugin",
-        "16│  name: lookup_2",
-        "17│  notes:",
-        "18│  - This is a dummy lookup plugin",
-        "19│  options:",
-        "20│    bar:",
-        "21│      default: candidate",
-        "22│      description:",
-        "23│      - Dummy option I(bar)",
-        "24│      type: str",
-        "25│    foo:",
-        "26│      description:",
-        "27│      - Dummy option I(foo)",
-        "28│      required: true",
-        "29│      type: str",
-        "30│  plugin_type: lookup",
-        "31│  short_description: This is test lookup plugin",
-        "32│  version_added: 2.0.0",
-        "33│  version_added_collection: company_name.coll_2",
-        "34│examples: |-",
-        "35│  - name: Retrieve a value deep inside a using a path",
-        "36│        ansible.builtin.set_fact:",
-        "37│          value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"",
-        "38│full_name: company_name.coll_2.lookup_2",
-        "39│metadata: null",
-        "40│returndocs:",
-        "41│  _raw:",
-        "42│    description:",
-        "43│    - One or more zero-based indices of the matching list items.",
+        " 1│argument_specs: {}",
+        " 2│argument_specs_path: ''",
+        " 3│defaults: {}",
+        " 4│defaults_path: ''",
+        " 5│full_name: company_name.coll_1.role_minimum",
+        " 6│info:",
+        " 7│  dependencies: []",
+        " 8│  galaxy_info:",
+        " 9│    author: Ansible team (ansible-navigator)",
+        "10│    company: Ansible",
+        "11│    description: Minimal sample role.",
+        "12│    galaxy_tags:",
+        "13│    - tag_1",
+        "14│    - tag_2",
+        "15│    license: LICENSE",
+        "16│    min_ansible_version: 2.9.0",
+        "17│    platforms:",
+        "18│    - name: eos",
+        "19│      versions:",
+        "20│      - all",
+        "21│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml",
+        "22│readme: |-",
+        "23│  # Role minimum",
+        "24│",
+        "25│  This is a role with:",
+        "26│",
+        "27│  - meta/main.yml",
+        "28│  - README.md",
+        "29│",
+        "30│  This is a role without:",
+        "31│",
+        "32│  - defaults/main.yml",
+        "33│  - meta/argument_spec.yml",
+        "34│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md",
+        "35│short_name: role_minimum",
         "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/9.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/9.json
index fcced3c71..f7dd97d71 100644
--- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/9.json
+++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/9.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[9-:back-Back to browse company_name.coll_2 plugins window]",
+    "name": "test[09-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 9,
-    "comment": "Back to browse company_name.coll_2 plugins window",
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/0.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/0.json
index c4b5b118f..cfd34f2db 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/0.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/0.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[0-ansible-navigator --execution-environment true-ansible-navigator welcome screen]",
+    "name": "test[00-ansible-navigator --ee True --ll debug --mode interactive-welcome screen]",
     "index": 0,
-    "comment": "ansible-navigator welcome screen",
+    "comment": "welcome screen",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         " 0│## Welcome",
         " 1│----------------------------------------------------------------------------------------------------------",
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/1.json
index 1ef2b7d4b..85b545e43 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/1.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[1-:collections-ansible-navigator collections top window]",
+    "name": "test[01-:collections-enter collections from welcome screen]",
     "index": 1,
-    "comment": "ansible-navigator collections top window",
+    "comment": "enter collections from welcome screen",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "  NAME                       VERSION    SHADOWED    TYPE           PATH",
         "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/10.json
index be743c5b8..8d55fe77b 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/10.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/10.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[10-:back-Back to browse company_name.coll_2 plugins window]",
+    "name": "test[10-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 10,
-    "comment": "Back to browse company_name.coll_2 plugins window",
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json
index dcfaa05f0..3ecb422e6 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json
@@ -1,62 +1,16 @@
 {
-    "name": "test[11-:1-mod_2 plugin docs window]",
+    "name": "test[11-:back-Back to ansible-navigator collections browse window]",
     "index": 11,
-    "comment": "mod_2 plugin docs window",
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "COMPANY_NAME.COLL_2.MOD_2: This is a test module",
-        " 0│---",
-        " 1│additional_information: {}",
-        " 2│collection_info:",
-        " 3│  authors:",
-        " 4│  - Ansible team (ansible-navigator)",
-        " 5│  license_file: LICENSE",
-        " 6│  name: company_name.coll_2",
-        " 7│  namespace: company_name",
-        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
-        " 9│  readme: README.md",
-        "10│  shadowed_by: []",
-        "11│  version: 2.0.0",
-        "12│doc:",
-        "13│  author:",
-        "14│  - test",
-        "15│  description:",
-        "16│  - This is a test module",
-        "17│  module: mod_2",
-        "18│  notes:",
-        "19│  - This is a dummy module",
-        "20│  options:",
-        "21│    bar:",
-        "22│      aliases:",
-        "23│      - bam",
-        "24│      choices:",
-        "25│      - candidate",
-        "26│      - running",
-        "27│      default: candidate",
-        "28│      description:",
-        "29│      - Dummy option I(bar)",
-        "30│      type: str",
-        "31│    foo:",
-        "32│      description:",
-        "33│      - Dummy option I(foo)",
-        "34│      type: str",
-        "35│  short_description: This is a test module",
-        "36│  version_added: 2.0.0",
-        "37│  version_added_collection: company_name.coll_2",
-        "38│examples: |-",
-        "39│  - name: test task-1",
-        "40│    company_name.coll_2.mod_2:",
-        "41│      foo: somevalue",
-        "42│      bar: candidate",
-        "43│full_name: company_name.coll_2.mod_2",
-        "44│metadata: null",
-        "45│returndocs:",
-        "46│  baz:",
-        "47│    description: test return 1",
-        "48│    returned: success",
-        "49│    sample:",
-        "50│    - a",
-        "51│    - b",
-        "52│    type: list",
-        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
+        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json
index 0e277c188..a14693944 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json
@@ -1,11 +1,16 @@
 {
-    "name": "test[12-:back-Back to browse company_name.coll_2 plugins window]",
+    "name": "test[12-:1-Browse company_name.coll_2 plugins window]",
     "index": 12,
-    "comment": "Back to browse company_name.coll_2 plugins window",
+    "comment": "Browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/13.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/13.json
index 4a34007ce..b98fb11d8 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/13.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/13.json
@@ -1,11 +1,58 @@
 {
-    "name": "test[13-:back-Back to ansible-navigator collections browse window]",
+    "name": "test[13-:0-lookup_2 plugin docs window]",
     "index": 13,
-    "comment": "Back to ansible-navigator collections browse window",
+    "comment": "lookup_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
-        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+        "COMPANY_NAME.COLL_2.LOOKUP_2: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_2",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 2.0.0",
+        "33│  version_added_collection: company_name.coll_2",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"",
+        "38│full_name: company_name.coll_2.lookup_2",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/14.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/14.json
new file mode 100644
index 000000000..e55f2b0ff
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/14.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[14-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 14,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/15.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/15.json
new file mode 100644
index 000000000..e3ed47f81
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/15.json
@@ -0,0 +1,67 @@
+{
+    "name": "test[15-:1-mod_2 plugin docs window]",
+    "index": 15,
+    "comment": "mod_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_2.MOD_2: This is a test module",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author:",
+        "14│  - test",
+        "15│  description:",
+        "16│  - This is a test module",
+        "17│  module: mod_2",
+        "18│  notes:",
+        "19│  - This is a dummy module",
+        "20│  options:",
+        "21│    bar:",
+        "22│      aliases:",
+        "23│      - bam",
+        "24│      choices:",
+        "25│      - candidate",
+        "26│      - running",
+        "27│      default: candidate",
+        "28│      description:",
+        "29│      - Dummy option I(bar)",
+        "30│      type: str",
+        "31│    foo:",
+        "32│      description:",
+        "33│      - Dummy option I(foo)",
+        "34│      type: str",
+        "35│  short_description: This is a test module",
+        "36│  version_added: 2.0.0",
+        "37│  version_added_collection: company_name.coll_2",
+        "38│examples: |-",
+        "39│  - name: test task-1",
+        "40│    company_name.coll_2.mod_2:",
+        "41│      foo: somevalue",
+        "42│      bar: candidate",
+        "43│full_name: company_name.coll_2.mod_2",
+        "44│metadata: null",
+        "45│returndocs:",
+        "46│  baz:",
+        "47│    description: test return 1",
+        "48│    returned: success",
+        "49│    sample:",
+        "50│    - a",
+        "51│    - b",
+        "52│    type: list",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/16.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/16.json
new file mode 100644
index 000000000..40a50b54f
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/16.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[16-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 16,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json
new file mode 100644
index 000000000..2aff484dd
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[17-:back-Back to ansible-navigator collections browse window]",
+    "index": 17,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
+        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json
new file mode 100644
index 000000000..e8bac731e
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[18-:collections --ee FFFFF-Provide an invalid ee value]",
+    "index": 18,
+    "comment": "Provide an invalid ee value",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
+        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json
new file mode 100644
index 000000000..500af1db9
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[19-:0-Browse company_name.coll_1 plugins window]",
+    "index": 19,
+    "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json
index f5db27a3a..10b7d23cc 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[2-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[02-:0-Browse company_name.coll_1 plugins window]",
     "index": 2,
     "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/20.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/20.json
new file mode 100644
index 000000000..988759aba
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/20.json
@@ -0,0 +1,58 @@
+{
+    "name": "test[20-:0-lookup_1 plugin docs window]",
+    "index": 20,
+    "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_1",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 1.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_1",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 1.0.0",
+        "33│  version_added_collection: company_name.coll_1",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"",
+        "38│full_name: company_name.coll_1.lookup_1",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/3.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/3.json
index 592bd2c1a..8ea2af463 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/3.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/3.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[3-:0-lookup_1 plugin docs window]",
+    "name": "test[03-:0-lookup_1 plugin docs window]",
     "index": 3,
     "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
         " 0│---",
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/4.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/4.json
index e4a6e667c..b29784f2b 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/4.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/4.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[4-:back-Back to browse company_name.coll_1 plugins window]",
+    "name": "test[04-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 4,
     "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/5.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/5.json
index 2d0112f76..5cd0f0ac8 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/5.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/5.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[5-:1-mod_1 plugin docs window]",
+    "name": "test[05-:1-mod_1 plugin docs window]",
     "index": 5,
     "comment": "mod_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "COMPANY_NAME.COLL_1.MOD_1: This is a test module",
         " 0│---",
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/6.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/6.json
index 6fe0a76a9..b3c9b107b 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/6.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/6.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[6-:back-Back to browse company_name.coll_1 plugins window]",
+    "name": "test[06-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 6,
     "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/7.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/7.json
index d5ed8e6f7..af8d621dc 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/7.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/7.json
@@ -1,11 +1,70 @@
 {
-    "name": "test[7-:back-Back to ansible-navigator collections browse window]",
+    "name": "test[07-:2-role_full details window]",
     "index": 7,
-    "comment": "Back to ansible-navigator collections browse window",
+    "comment": "role_full details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  NAME                       VERSION    SHADOWED    TYPE           PATH",
-        "0│company_name.coll_1        1.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2        2.0.0         False    bind_mount     FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
-        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+        "COMPANY_NAME.COLL_1.ROLE_FULL: Complete sample role.",
+        " 0│---",
+        " 1│argument_specs:",
+        " 2│  alternate:",
+        " 3│    options:",
+        " 4│      role_full_int:",
+        " 5│        default: 1024",
+        " 6│        description: The integer value, defaulting to 1024.",
+        " 7│        required: false",
+        " 8│        type: int",
+        " 9│    short_description: The alternate entry point for the role_full role.",
+        "10│  main:",
+        "11│    options:",
+        "12│      role_full_int:",
+        "13│        default: 42",
+        "14│        description: The integer value, defaulting to 42.",
+        "15│        required: false",
+        "16│        type: int",
+        "17│      role_full_str:",
+        "18│        description: The string value",
+        "19│        required: true",
+        "20│        type: str",
+        "21│    short_description: The main entry point for the role_full role.",
+        "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml",
+        "23│defaults:",
+        "24│  role_full_bool: true",
+        "25│  role_full_int: 42",
+        "26│  role_full_str: Test string",
+        "27│defaults_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml",
+        "28│full_name: company_name.coll_1.role_full",
+        "29│info:",
+        "30│  dependencies: []",
+        "31│  galaxy_info:",
+        "32│    author: Ansible team (ansible-navigator)",
+        "33│    company: Ansible",
+        "34│    description: Complete sample role.",
+        "35│    galaxy_tags:",
+        "36│    - tag_1",
+        "37│    - tag_2",
+        "38│    license: LICENSE",
+        "39│    min_ansible_version: 2.9.0",
+        "40│    platforms:",
+        "41│    - name: eos",
+        "42│      versions:",
+        "43│      - all",
+        "44│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml",
+        "45│readme: |-",
+        "46│  # Role full",
+        "47│",
+        "48│  This is a role with:",
+        "49│",
+        "50│  - defaults/main.yml",
+        "51│  - meta/argument_spec.yml",
+        "52│  - meta/main.yml",
+        "53│  - README.md",
+        "54│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md",
+        "55│short_name: role_full",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/8.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/8.json
index 773379567..a363c6dbc 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/8.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/8.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[8-:1-Browse company_name.coll_2 plugins window]",
+    "name": "test[08-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 8,
-    "comment": "Browse company_name.coll_2 plugins window",
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/9.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/9.json
index 9e7f4d1f7..593d327db 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/9.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/9.json
@@ -1,53 +1,50 @@
 {
-    "name": "test[9-:0-lookup_2 plugin docs window]",
+    "name": "test[09-:3-role_minimal details window]",
     "index": 9,
-    "comment": "lookup_2 plugin docs window",
+    "comment": "role_minimal details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "COMPANY_NAME.COLL_2.LOOKUP_2: This is test lookup plugin",
+        "COMPANY_NAME.COLL_1.ROLE_MINIMUM: Minimal sample role.",
         " 0│---",
-        " 1│additional_information: {}",
-        " 2│collection_info:",
-        " 3│  authors:",
-        " 4│  - Ansible team (ansible-navigator)",
-        " 5│  license_file: LICENSE",
-        " 6│  name: company_name.coll_2",
-        " 7│  namespace: company_name",
-        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2",
-        " 9│  readme: README.md",
-        "10│  shadowed_by: []",
-        "11│  version: 2.0.0",
-        "12│doc:",
-        "13│  author: test",
-        "14│  description:",
-        "15│  - This is test lookup plugin",
-        "16│  name: lookup_2",
-        "17│  notes:",
-        "18│  - This is a dummy lookup plugin",
-        "19│  options:",
-        "20│    bar:",
-        "21│      default: candidate",
-        "22│      description:",
-        "23│      - Dummy option I(bar)",
-        "24│      type: str",
-        "25│    foo:",
-        "26│      description:",
-        "27│      - Dummy option I(foo)",
-        "28│      required: true",
-        "29│      type: str",
-        "30│  plugin_type: lookup",
-        "31│  short_description: This is test lookup plugin",
-        "32│  version_added: 2.0.0",
-        "33│  version_added_collection: company_name.coll_2",
-        "34│examples: |-",
-        "35│  - name: Retrieve a value deep inside a using a path",
-        "36│        ansible.builtin.set_fact:",
-        "37│          value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"",
-        "38│full_name: company_name.coll_2.lookup_2",
-        "39│metadata: null",
-        "40│returndocs:",
-        "41│  _raw:",
-        "42│    description:",
-        "43│    - One or more zero-based indices of the matching list items.",
+        " 1│argument_specs: {}",
+        " 2│argument_specs_path: ''",
+        " 3│defaults: {}",
+        " 4│defaults_path: ''",
+        " 5│full_name: company_name.coll_1.role_minimum",
+        " 6│info:",
+        " 7│  dependencies: []",
+        " 8│  galaxy_info:",
+        " 9│    author: Ansible team (ansible-navigator)",
+        "10│    company: Ansible",
+        "11│    description: Minimal sample role.",
+        "12│    galaxy_tags:",
+        "13│    - tag_1",
+        "14│    - tag_2",
+        "15│    license: LICENSE",
+        "16│    min_ansible_version: 2.9.0",
+        "17│    platforms:",
+        "18│    - name: eos",
+        "19│      versions:",
+        "20│      - all",
+        "21│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml",
+        "22│readme: |-",
+        "23│  # Role minimum",
+        "24│",
+        "25│  This is a role with:",
+        "26│",
+        "27│  - meta/main.yml",
+        "28│  - README.md",
+        "29│",
+        "30│  This is a role without:",
+        "31│",
+        "32│  - defaults/main.yml",
+        "33│  - meta/argument_spec.yml",
+        "34│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md",
+        "35│short_name: role_minimum",
         "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/0.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/0.json
index b7c5473ac..0e727926a 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/0.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/0.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[0-ansible-navigator --execution-environment false-ansible-navigator welcome screen]",
+    "name": "test[00-ansible-navigator --ee False --ll debug --mode interactive-welcome screen]",
     "index": 0,
-    "comment": "ansible-navigator welcome screen",
+    "comment": "welcome screen",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         " 0│## Welcome",
         " 1│----------------------------------------------------------------------------------------------------------",
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/1.json
index 900bccfb1..abd171250 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/1.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/1.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[1-:collections-ansible-navigator collections top window]",
+    "name": "test[01-:collections-enter collections from welcome screen]",
     "index": 1,
-    "comment": "ansible-navigator collections top window",
+    "comment": "enter collections from welcome screen",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "  NAME                         VERSION    SHADOWED     PATH",
         "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/10.json
index be743c5b8..8d55fe77b 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/10.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/10.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[10-:back-Back to browse company_name.coll_2 plugins window]",
+    "name": "test[10-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 10,
-    "comment": "Back to browse company_name.coll_2 plugins window",
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json
index 8705e635a..49671dba6 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json
@@ -1,62 +1,16 @@
 {
-    "name": "test[11-:1-mod_2 plugin docs window]",
+    "name": "test[11-:back-Back to ansible-navigator collections browse window]",
     "index": 11,
-    "comment": "mod_2 plugin docs window",
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "COMPANY_NAME.COLL_2.MOD_2: This is a test module",
-        " 0│---",
-        " 1│additional_information: {}",
-        " 2│collection_info:",
-        " 3│  authors:",
-        " 4│  - Ansible team (ansible-navigator)",
-        " 5│  license_file: LICENSE",
-        " 6│  name: company_name.coll_2",
-        " 7│  namespace: company_name",
-        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
-        " 9│  readme: README.md",
-        "10│  shadowed_by: []",
-        "11│  version: 2.0.0",
-        "12│doc:",
-        "13│  author:",
-        "14│  - test",
-        "15│  description:",
-        "16│  - This is a test module",
-        "17│  module: mod_2",
-        "18│  notes:",
-        "19│  - This is a dummy module",
-        "20│  options:",
-        "21│    bar:",
-        "22│      aliases:",
-        "23│      - bam",
-        "24│      choices:",
-        "25│      - candidate",
-        "26│      - running",
-        "27│      default: candidate",
-        "28│      description:",
-        "29│      - Dummy option I(bar)",
-        "30│      type: str",
-        "31│    foo:",
-        "32│      description:",
-        "33│      - Dummy option I(foo)",
-        "34│      type: str",
-        "35│  short_description: This is a test module",
-        "36│  version_added: 2.0.0",
-        "37│  version_added_collection: company_name.coll_2",
-        "38│examples: |-",
-        "39│  - name: test task-1",
-        "40│    company_name.coll_2.mod_2:",
-        "41│      foo: somevalue",
-        "42│      bar: candidate",
-        "43│full_name: company_name.coll_2.mod_2",
-        "44│metadata: null",
-        "45│returndocs:",
-        "46│  baz:",
-        "47│    description: test return 1",
-        "48│    returned: success",
-        "49│    sample:",
-        "50│    - a",
-        "51│    - b",
-        "52│    type: list",
-        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+        "  NAME                         VERSION    SHADOWED     PATH",
+        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json
index 0e277c188..a14693944 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json
@@ -1,11 +1,16 @@
 {
-    "name": "test[12-:back-Back to browse company_name.coll_2 plugins window]",
+    "name": "test[12-:1-Browse company_name.coll_2 plugins window]",
     "index": 12,
-    "comment": "Back to browse company_name.coll_2 plugins window",
+    "comment": "Browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/13.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/13.json
index 88fa02393..7d5150cb9 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/13.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/13.json
@@ -1,11 +1,58 @@
 {
-    "name": "test[13-:back-Back to ansible-navigator collections browse window]",
+    "name": "test[13-:0-lookup_2 plugin docs window]",
     "index": 13,
-    "comment": "Back to ansible-navigator collections browse window",
+    "comment": "lookup_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
-        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+        "COMPANY_NAME.COLL_2.LOOKUP_2: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_2",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 2.0.0",
+        "33│  version_added_collection: company_name.coll_2",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"",
+        "38│full_name: company_name.coll_2.lookup_2",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/14.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/14.json
new file mode 100644
index 000000000..e55f2b0ff
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/14.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[14-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 14,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/15.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/15.json
new file mode 100644
index 000000000..d98f6c572
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/15.json
@@ -0,0 +1,67 @@
+{
+    "name": "test[15-:1-mod_2 plugin docs window]",
+    "index": 15,
+    "comment": "mod_2 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_2.MOD_2: This is a test module",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_2",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 2.0.0",
+        "12│doc:",
+        "13│  author:",
+        "14│  - test",
+        "15│  description:",
+        "16│  - This is a test module",
+        "17│  module: mod_2",
+        "18│  notes:",
+        "19│  - This is a dummy module",
+        "20│  options:",
+        "21│    bar:",
+        "22│      aliases:",
+        "23│      - bam",
+        "24│      choices:",
+        "25│      - candidate",
+        "26│      - running",
+        "27│      default: candidate",
+        "28│      description:",
+        "29│      - Dummy option I(bar)",
+        "30│      type: str",
+        "31│    foo:",
+        "32│      description:",
+        "33│      - Dummy option I(foo)",
+        "34│      type: str",
+        "35│  short_description: This is a test module",
+        "36│  version_added: 2.0.0",
+        "37│  version_added_collection: company_name.coll_2",
+        "38│examples: |-",
+        "39│  - name: test task-1",
+        "40│    company_name.coll_2.mod_2:",
+        "41│      foo: somevalue",
+        "42│      bar: candidate",
+        "43│full_name: company_name.coll_2.mod_2",
+        "44│metadata: null",
+        "45│returndocs:",
+        "46│  baz:",
+        "47│    description: test return 1",
+        "48│    returned: success",
+        "49│    sample:",
+        "50│    - a",
+        "51│    - b",
+        "52│    type: list",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/16.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/16.json
new file mode 100644
index 000000000..40a50b54f
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/16.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[16-:back-Back to browse company_name.coll_2 plugins window]",
+    "index": 16,
+    "comment": "Back to browse company_name.coll_2 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
+        "0│lookup_2                                               lookup             2.0.0            False                          This is test lookup plugin",
+        "1│mod_2                                                  module             2.0.0            False                          This is a test module",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json
new file mode 100644
index 000000000..9c6d39e68
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[17-:back-Back to ansible-navigator collections browse window]",
+    "index": 17,
+    "comment": "Back to ansible-navigator collections browse window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                         VERSION    SHADOWED     PATH",
+        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json
new file mode 100644
index 000000000..6fa70933b
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json
@@ -0,0 +1,16 @@
+{
+    "name": "test[18-:collections --ee FFFFF-Provide an invalid ee value]",
+    "index": 18,
+    "comment": "Provide an invalid ee value",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  NAME                         VERSION    SHADOWED     PATH",
+        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json
new file mode 100644
index 000000000..500af1db9
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json
@@ -0,0 +1,18 @@
+{
+    "name": "test[19-:0-Browse company_name.coll_1 plugins window]",
+    "index": 19,
+    "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
+        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json
index f5db27a3a..10b7d23cc 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[2-:0-Browse company_name.coll_1 plugins window]",
+    "name": "test[02-:0-Browse company_name.coll_1 plugins window]",
     "index": 2,
     "comment": "Browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/20.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/20.json
new file mode 100644
index 000000000..b5823b0fb
--- /dev/null
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/20.json
@@ -0,0 +1,58 @@
+{
+    "name": "test[20-:0-lookup_1 plugin docs window]",
+    "index": 20,
+    "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
+    "output": [
+        "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
+        " 0│---",
+        " 1│additional_information: {}",
+        " 2│collection_info:",
+        " 3│  authors:",
+        " 4│  - Ansible team (ansible-navigator)",
+        " 5│  license_file: LICENSE",
+        " 6│  name: company_name.coll_1",
+        " 7│  namespace: company_name",
+        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
+        " 9│  readme: README.md",
+        "10│  shadowed_by: []",
+        "11│  version: 1.0.0",
+        "12│doc:",
+        "13│  author: test",
+        "14│  description:",
+        "15│  - This is test lookup plugin",
+        "16│  name: lookup_1",
+        "17│  notes:",
+        "18│  - This is a dummy lookup plugin",
+        "19│  options:",
+        "20│    bar:",
+        "21│      default: candidate",
+        "22│      description:",
+        "23│      - Dummy option I(bar)",
+        "24│      type: str",
+        "25│    foo:",
+        "26│      description:",
+        "27│      - Dummy option I(foo)",
+        "28│      required: true",
+        "29│      type: str",
+        "30│  plugin_type: lookup",
+        "31│  short_description: This is test lookup plugin",
+        "32│  version_added: 1.0.0",
+        "33│  version_added_collection: company_name.coll_1",
+        "34│examples: |-",
+        "35│  - name: Retrieve a value deep inside a using a path",
+        "36│        ansible.builtin.set_fact:",
+        "37│          value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"",
+        "38│full_name: company_name.coll_1.lookup_1",
+        "39│metadata: null",
+        "40│returndocs:",
+        "41│  _raw:",
+        "42│    description:",
+        "43│    - One or more zero-based indices of the matching list items.",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
+    ]
+}
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/3.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/3.json
index 2e6f0dbd2..9b471b81a 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/3.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/3.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[3-:0-lookup_1 plugin docs window]",
+    "name": "test[03-:0-lookup_1 plugin docs window]",
     "index": 3,
     "comment": "lookup_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "COMPANY_NAME.COLL_1.LOOKUP_1: This is test lookup plugin",
         " 0│---",
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/4.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/4.json
index e4a6e667c..b29784f2b 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/4.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/4.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[4-:back-Back to browse company_name.coll_1 plugins window]",
+    "name": "test[04-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 4,
     "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/5.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/5.json
index df5705eb4..3c128abfd 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/5.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/5.json
@@ -1,7 +1,12 @@
 {
-    "name": "test[5-:1-mod_1 plugin docs window]",
+    "name": "test[05-:1-mod_1 plugin docs window]",
     "index": 5,
     "comment": "mod_1 plugin docs window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
         "COMPANY_NAME.COLL_1.MOD_1: This is a test module",
         " 0│---",
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/6.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/6.json
index 6fe0a76a9..b3c9b107b 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/6.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/6.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[6-:back-Back to browse company_name.coll_1 plugins window]",
+    "name": "test[06-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 6,
     "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 1                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_1                                               lookup             1.0.0                 False                     This is test lookup plugin",
-        "1│mod_1                                                  module             1.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/7.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/7.json
index d0fa81b34..7963d29cb 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/7.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/7.json
@@ -1,11 +1,70 @@
 {
-    "name": "test[7-:back-Back to ansible-navigator collections browse window]",
+    "name": "test[07-:2-role_full details window]",
     "index": 7,
-    "comment": "Back to ansible-navigator collections browse window",
+    "comment": "role_full details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  NAME                         VERSION    SHADOWED     PATH",
-        "0│company_name.coll_1          1.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1",
-        "1│company_name.coll_2          2.0.0         False     FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
-        "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
+        "COMPANY_NAME.COLL_1.ROLE_FULL: Complete sample role.",
+        " 0│---",
+        " 1│argument_specs:",
+        " 2│  alternate:",
+        " 3│    options:",
+        " 4│      role_full_int:",
+        " 5│        default: 1024",
+        " 6│        description: The integer value, defaulting to 1024.",
+        " 7│        required: false",
+        " 8│        type: int",
+        " 9│    short_description: The alternate entry point for the role_full role.",
+        "10│  main:",
+        "11│    options:",
+        "12│      role_full_int:",
+        "13│        default: 42",
+        "14│        description: The integer value, defaulting to 42.",
+        "15│        required: false",
+        "16│        type: int",
+        "17│      role_full_str:",
+        "18│        description: The string value",
+        "19│        required: true",
+        "20│        type: str",
+        "21│    short_description: The main entry point for the role_full role.",
+        "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml",
+        "23│defaults:",
+        "24│  role_full_bool: true",
+        "25│  role_full_int: 42",
+        "26│  role_full_str: Test string",
+        "27│defaults_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml",
+        "28│full_name: company_name.coll_1.role_full",
+        "29│info:",
+        "30│  dependencies: []",
+        "31│  galaxy_info:",
+        "32│    author: Ansible team (ansible-navigator)",
+        "33│    company: Ansible",
+        "34│    description: Complete sample role.",
+        "35│    galaxy_tags:",
+        "36│    - tag_1",
+        "37│    - tag_2",
+        "38│    license: LICENSE",
+        "39│    min_ansible_version: 2.9.0",
+        "40│    platforms:",
+        "41│    - name: eos",
+        "42│      versions:",
+        "43│      - all",
+        "44│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml",
+        "45│readme: |-",
+        "46│  # Role full",
+        "47│",
+        "48│  This is a role with:",
+        "49│",
+        "50│  - defaults/main.yml",
+        "51│  - meta/argument_spec.yml",
+        "52│  - meta/main.yml",
+        "53│  - README.md",
+        "54│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md",
+        "55│short_name: role_full",
+        "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/8.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/8.json
index 773379567..a363c6dbc 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/8.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/8.json
@@ -1,11 +1,18 @@
 {
-    "name": "test[8-:1-Browse company_name.coll_2 plugins window]",
+    "name": "test[08-:back-Back to browse company_name.coll_1 plugins window]",
     "index": 8,
-    "comment": "Browse company_name.coll_2 plugins window",
+    "comment": "Back to browse company_name.coll_1 plugins window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "  COMPANY NAME.COLL 2                                    TYPE               ADDED            DEPRECATED                     DESCRIPTION",
-        "0│lookup_2                                               lookup             2.0.0                 False                     This is test lookup plugin",
-        "1│mod_2                                                  module             2.0.0                 False                     This is a test module",
+        "  COMPANY NAME.COLL 1                                   TYPE               ADDED                 DEPRECATED                    DESCRIPTION",
+        "0│lookup_1                                              lookup             1.0.0                 False                         This is test lookup plugin",
+        "1│mod_1                                                 module             1.0.0                 False                         This is a test module",
+        "2│role_full                                             role               Unknown               Unknown                       Complete sample role.",
+        "3│role_minimum                                          role               Unknown               Unknown                       Minimal sample role.",
         "^f/PgUp page up                     ^b/PgDn page down                     ↑↓ scroll                     esc back                     [0-9] goto                     :help help"
     ]
 }
diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/9.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/9.json
index 0b88524f2..cae68bba1 100644
--- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/9.json
+++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/9.json
@@ -1,53 +1,50 @@
 {
-    "name": "test[9-:0-lookup_2 plugin docs window]",
+    "name": "test[09-:3-role_minimal details window]",
     "index": 9,
-    "comment": "lookup_2 plugin docs window",
+    "comment": "role_minimal details window",
+    "additional_information": {
+        "present": [],
+        "absent": [],
+        "compared_fixture": true
+    },
     "output": [
-        "COMPANY_NAME.COLL_2.LOOKUP_2: This is test lookup plugin",
+        "COMPANY_NAME.COLL_1.ROLE_MINIMUM: Minimal sample role.",
         " 0│---",
-        " 1│additional_information: {}",
-        " 2│collection_info:",
-        " 3│  authors:",
-        " 4│  - Ansible team (ansible-navigator)",
-        " 5│  license_file: LICENSE",
-        " 6│  name: company_name.coll_2",
-        " 7│  namespace: company_name",
-        " 8│  path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2",
-        " 9│  readme: README.md",
-        "10│  shadowed_by: []",
-        "11│  version: 2.0.0",
-        "12│doc:",
-        "13│  author: test",
-        "14│  description:",
-        "15│  - This is test lookup plugin",
-        "16│  name: lookup_2",
-        "17│  notes:",
-        "18│  - This is a dummy lookup plugin",
-        "19│  options:",
-        "20│    bar:",
-        "21│      default: candidate",
-        "22│      description:",
-        "23│      - Dummy option I(bar)",
-        "24│      type: str",
-        "25│    foo:",
-        "26│      description:",
-        "27│      - Dummy option I(foo)",
-        "28│      required: true",
-        "29│      type: str",
-        "30│  plugin_type: lookup",
-        "31│  short_description: This is test lookup plugin",
-        "32│  version_added: 2.0.0",
-        "33│  version_added_collection: company_name.coll_2",
-        "34│examples: |-",
-        "35│  - name: Retrieve a value deep inside a using a path",
-        "36│        ansible.builtin.set_fact:",
-        "37│          value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"",
-        "38│full_name: company_name.coll_2.lookup_2",
-        "39│metadata: null",
-        "40│returndocs:",
-        "41│  _raw:",
-        "42│    description:",
-        "43│    - One or more zero-based indices of the matching list items.",
+        " 1│argument_specs: {}",
+        " 2│argument_specs_path: ''",
+        " 3│defaults: {}",
+        " 4│defaults_path: ''",
+        " 5│full_name: company_name.coll_1.role_minimum",
+        " 6│info:",
+        " 7│  dependencies: []",
+        " 8│  galaxy_info:",
+        " 9│    author: Ansible team (ansible-navigator)",
+        "10│    company: Ansible",
+        "11│    description: Minimal sample role.",
+        "12│    galaxy_tags:",
+        "13│    - tag_1",
+        "14│    - tag_2",
+        "15│    license: LICENSE",
+        "16│    min_ansible_version: 2.9.0",
+        "17│    platforms:",
+        "18│    - name: eos",
+        "19│      versions:",
+        "20│      - all",
+        "21│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml",
+        "22│readme: |-",
+        "23│  # Role minimum",
+        "24│",
+        "25│  This is a role with:",
+        "26│",
+        "27│  - meta/main.yml",
+        "28│  - README.md",
+        "29│",
+        "30│  This is a role without:",
+        "31│",
+        "32│  - defaults/main.yml",
+        "33│  - meta/argument_spec.yml",
+        "34│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md",
+        "35│short_name: role_minimum",
         "^f/PgUp page up              ^b/PgDn page down              ↑↓ scroll              esc back              - previous              + next              [0-9] goto              :help help"
     ]
 }
diff --git a/tests/integration/_interactions.py b/tests/integration/_interactions.py
index dce5e76d6..a723d51b7 100644
--- a/tests/integration/_interactions.py
+++ b/tests/integration/_interactions.py
@@ -20,12 +20,15 @@ class Command(NamedTuple):
     """command details"""
 
     execution_environment: bool
-    command: str = "ansible-navigator"
     cmdline: Optional[str] = None
+    command: str = "ansible-navigator"
     log_level: str = "debug"
     mode: str = "interactive"
     pass_environment_variables: List = []
     preclear: bool = False
+    precommand: str = ""
+    raw_append: str = ""
+    """Anything raw that should be appended, and not shlex quoted"""
     subcommand: Optional[str] = None
 
     def join(self):
@@ -42,8 +45,12 @@ def join(self):
             for env_var in self.pass_environment_variables:
                 args.extend(["--penv", env_var])
         cmd = " ".join(shlex.quote(str(arg)) for arg in args)
+        if self.precommand:
+            cmd = f"{self.precommand} {cmd}"
         if self.preclear:
-            return "clear && " + cmd
+            cmd = f"clear && {cmd}"
+        if self.raw_append:
+            cmd = f"{cmd} {self.raw_append}"
         return cmd
 
 
@@ -74,3 +81,11 @@ def add_indices(steps):
 def step_id(value):
     """return the test id from the test step object"""
     return f"{value.step_index}-{value.user_input}-{value.comment}"
+
+
+def step_id_padded(value):
+    """Return the test id from the test step object, index padded to 2.
+
+    :param value: The test value
+    """
+    return f"{value.step_index:02d}-{value.user_input}-{value.comment}"
diff --git a/tests/integration/actions/collections/base.py b/tests/integration/actions/collections/base.py
index 896e1341a..9146f73fe 100644
--- a/tests/integration/actions/collections/base.py
+++ b/tests/integration/actions/collections/base.py
@@ -3,7 +3,7 @@
 import difflib
 import os
 
-from typing import Optional
+from typing import Generator
 
 import pytest
 
@@ -11,21 +11,55 @@
 from ..._common import copytree
 from ..._common import retrieve_fixture_for_step
 from ..._common import update_fixtures
+from ..._interactions import SearchFor
+from ..._interactions import UiTestStep
 from ..._tmux_session import TmuxSession
 
 
+base_steps = (
+    UiTestStep(user_input=":0", comment="Browse company_name.coll_1 plugins window"),
+    UiTestStep(user_input=":0", comment="lookup_1 plugin docs window"),
+    UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"),
+    UiTestStep(user_input=":1", comment="mod_1 plugin docs window"),
+    UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"),
+    UiTestStep(user_input=":2", comment="role_full details window"),
+    UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"),
+    UiTestStep(user_input=":3", comment="role_minimal details window"),
+    UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"),
+    UiTestStep(user_input=":back", comment="Back to ansible-navigator collections browse window"),
+    UiTestStep(user_input=":1", comment="Browse company_name.coll_2 plugins window"),
+    UiTestStep(user_input=":0", comment="lookup_2 plugin docs window"),
+    UiTestStep(user_input=":back", comment="Back to browse company_name.coll_2 plugins window"),
+    UiTestStep(user_input=":1", comment="mod_2 plugin docs window"),
+    UiTestStep(user_input=":back", comment="Back to browse company_name.coll_2 plugins window"),
+    UiTestStep(user_input=":back", comment="Back to ansible-navigator collections browse window"),
+    # Try some things that should not work but not fail (#1061 and #1062)
+    UiTestStep(user_input=":collections --ee FFFFF", comment="Provide an invalid ee value"),
+    # and repeat some basic browsing
+    UiTestStep(user_input=":0", comment="Browse company_name.coll_1 plugins window"),
+    UiTestStep(user_input=":0", comment="lookup_1 plugin docs window"),
+)
+
+
 class BaseClass:
-    """Base class for interactive collections tests."""
+    """Base class for interactive ``collections`` tests."""
 
-    UPDATE_FIXTURES = False
-    EXECUTION_ENVIRONMENT_TEST = False
-    TEST_FOR_MODE: Optional[str] = None
+    update_fixtures = False
+    pane_height = 2000
+    pane_width = 200
 
-    @staticmethod
-    @pytest.fixture(scope="module", name="tmux_collections_session")
-    def _fixture_tmux_config_session(request, os_independent_tmp):
-        """Tmux fixture for this module."""
+    @pytest.fixture(scope="module", name="tmux_session")
+    def fixture_tmux_session(
+        self,
+        request: pytest.FixtureRequest,
+        os_independent_tmp: str,
+    ) -> Generator[TmuxSession, None, None]:
+        """Tmux fixture for this module.
 
+        :param request: The request for this fixture
+        :param os_independent_tmp: An OS independent tmp directory
+        :yields: A tmux session
+        """
         tmp_coll_dir = os.path.join(os_independent_tmp, request.node.name, "")
         os.makedirs(tmp_coll_dir, exist_ok=True)
         copytree(
@@ -40,56 +74,71 @@ def _fixture_tmux_config_session(request, os_independent_tmp):
                 "export ANSIBLE_DEVEL_WARNING=False",
                 "export ANSIBLE_DEPRECATION_WARNINGS=False",
             ],
-            "pane_height": "2000",
-            "pane_width": "200",
+            "pane_height": self.pane_height,
+            "pane_width": self.pane_width,
             "unique_test_id": request.node.nodeid,
         }
+
         with TmuxSession(**params) as tmux_session:
             yield tmux_session
 
     def test(
         self,
-        request,
-        os_independent_tmp,
-        tmux_collections_session,
-        index,
-        user_input,
-        comment,
+        os_independent_tmp: str,
+        request: pytest.FixtureRequest,
+        step: UiTestStep,
+        tmux_session: TmuxSession,
     ):
-        # pylint: disable=too-many-arguments
-        """Run the tests for collections, mode and ``ee`` set in child class.
+        """Run the tests for ``collections``, mode and ``ee`` set in child class.
 
-        wait on help here to ensure we get the welcome screen and subsequent screens
-        after entering a : command
+        :param os_independent_tmp: An OS independent tmp directory
+        :param request: The request for this fixture
+        :param step: The UI test step
+        :param tmux_session: A tmux session
         """
 
-        ignore_within_response = "Collecting collection content"
-        if self.TEST_FOR_MODE == "interactive":
+        if step.search_within_response is SearchFor.HELP:
             search_within_response = ":help help"
+        elif step.search_within_response is SearchFor.PROMPT:
+            search_within_response = tmux_session.cli_prompt
         else:
-            raise ValueError(
-                "Value of 'TEST_FOR_MODE' is not set."
-                " Valid value is either 'interactive' or 'stdout'",
-            )
+            raise ValueError("test mode not set")
 
-        received_output = tmux_collections_session.interaction(
-            user_input,
-            search_within_response,
-            ignore_within_response=ignore_within_response,
+        received_output = tmux_session.interaction(
+            value=step.user_input,
+            search_within_response=search_within_response,
         )
-
         received_output = [
             line.replace(os_independent_tmp, "FIXTURES_COLLECTION_DIR") for line in received_output
         ]
 
         fixtures_update_requested = (
-            self.UPDATE_FIXTURES
+            self.update_fixtures
             or os.environ.get("ANSIBLE_NAVIGATOR_UPDATE_TEST_FIXTURES") == "true"
         )
         if fixtures_update_requested:
-            update_fixtures(request, index, received_output, comment)
+            update_fixtures(
+                request,
+                step.step_index,
+                received_output,
+                step.comment,
+                additional_information={
+                    "present": step.present,
+                    "absent": step.absent,
+                    "compared_fixture": not any((step.present, step.absent)),
+                },
+            )
 
-        expected_output = retrieve_fixture_for_step(request, index)
-        assert expected_output == received_output, "\n" + "\n".join(
-            difflib.unified_diff(expected_output, received_output, "expected", "received"),
-        )
+        page = " ".join(received_output)
+
+        if step.present:
+            assert all(present in page for present in step.present)
+
+        if step.absent:
+            assert not any(look_not in page for look_not in step.absent)
+
+        if not any((step.present, step.absent)):
+            expected_output = retrieve_fixture_for_step(request, step.step_index)
+            assert expected_output == received_output, "\n" + "\n".join(
+                difflib.unified_diff(expected_output, received_output, "expected", "received"),
+            )
diff --git a/tests/integration/actions/collections/test_direct_interactive_ee.py b/tests/integration/actions/collections/test_direct_interactive_ee.py
index 2f05df696..2eb530a4c 100644
--- a/tests/integration/actions/collections/test_direct_interactive_ee.py
+++ b/tests/integration/actions/collections/test_direct_interactive_ee.py
@@ -2,32 +2,24 @@
 """
 import pytest
 
+from ..._interactions import Command
+from ..._interactions import UiTestStep
+from ..._interactions import add_indices
+from ..._interactions import step_id_padded
 from .base import BaseClass
+from .base import base_steps
 
 
-CLI = "ansible-navigator collections --execution-environment true"
+CLI = Command(subcommand="collections", execution_environment=True).join()
 
-testdata = [
-    (0, CLI, "ansible-navigator collections browse window"),
-    (1, ":0", "Browse company_name.coll_1 plugins window"),
-    (2, ":0", "lookup_1 plugin docs window"),
-    (3, ":back", "Back to browse company_name.coll_1 plugins window"),
-    (4, ":1", "mod_1 plugin docs window"),
-    (5, ":back", "Back to browse company_name.coll_1 plugins window"),
-    (6, ":back", "Back to ansible-navigator collections browse window"),
-    (7, ":1", "Browse company_name.coll_2 plugins window"),
-    (8, ":0", "lookup_2 plugin docs window"),
-    (9, ":back", "Back to browse company_name.coll_2 plugins window"),
-    (10, ":1", "mod_2 plugin docs window"),
-    (11, ":back", "Back to browse company_name.coll_2 plugins window"),
-    (12, ":back", "Back to ansible-navigator collections browse window"),
-]
 
+initial_steps = (UiTestStep(user_input=CLI, comment="ansible-navigator collections top window"),)
 
-@pytest.mark.parametrize("index, user_input, comment", testdata)
+steps = add_indices(initial_steps + base_steps)
+
+
+@pytest.mark.parametrize("step", steps, ids=step_id_padded)
 class Test(BaseClass):
-    """Run the tests for collections from CLI, interactive, with an EE."""
+    """Run the tests for ``collections`` from CLI, interactive, with an EE."""
 
-    TEST_FOR_MODE = "interactive"
-    EXECUTION_ENVIRONMENT_TEST = True
-    UPDATE_FIXTURES = False
+    update_fixtures = False
diff --git a/tests/integration/actions/collections/test_direct_interactive_ee_with_volmount.py b/tests/integration/actions/collections/test_direct_interactive_ee_with_volmount.py
index 60a3b0bd8..6a730534a 100644
--- a/tests/integration/actions/collections/test_direct_interactive_ee_with_volmount.py
+++ b/tests/integration/actions/collections/test_direct_interactive_ee_with_volmount.py
@@ -1,27 +1,32 @@
-"""Tests for collections from CLI, interactive, with an EE and volume mount."""
+"""Tests for collections from CLI, interactive, with an EE."""
 import pytest
 
+from ..._interactions import Command
+from ..._interactions import UiTestStep
+from ..._interactions import add_indices
+from ..._interactions import step_id_padded
 from .base import BaseClass
+from .base import base_steps
 
 
-CLI = (
-    "cd /tmp && "  # Get out of collection root, ensure test is independent of CWD
-    "ansible-navigator collections --execution-environment true "
-    "--eev $ANSIBLE_COLLECTIONS_PATH/collections:/tmp/collections_to_volmount:Z "
-    "--senv ANSIBLE_COLLECTIONS_PATH=/tmp/collections_to_volmount"
-)
+CLI = Command(
+    precommand="cd /tmp &&",
+    raw_append=(
+        "--eev $ANSIBLE_COLLECTIONS_PATH/collections:/tmp/collections_to_volmount:Z"
+        " --senv ANSIBLE_COLLECTIONS_PATH=/tmp/collections_to_volmount"
+    ),
+    subcommand="collections",
+    execution_environment=True,
+).join()
 
-testdata = [
-    (0, CLI, "ansible-navigator collections browse window"),
-    (1, ":0", "Browse company_name.coll_1 plugins window"),
-    (2, ":0", "lookup_1 plugin docs window"),
-]
 
+initial_steps = (UiTestStep(user_input=CLI, comment="ansible-navigator collections top window"),)
 
-@pytest.mark.parametrize("index, user_input, comment", testdata)
+steps = add_indices(initial_steps + base_steps)
+
+
+@pytest.mark.parametrize("step", steps, ids=step_id_padded)
 class Test(BaseClass):
-    """Run the tests for collections from CLI, interactive, with an EE."""
+    """Run the tests for ``collections`` from CLI, interactive, with an EE."""
 
-    TEST_FOR_MODE = "interactive"
-    EXECUTION_ENVIRONMENT_TEST = True
-    UPDATE_FIXTURES = False
+    update_fixtures = False
diff --git a/tests/integration/actions/collections/test_direct_interactive_noee.py b/tests/integration/actions/collections/test_direct_interactive_noee.py
index b8ca2737e..79bad7f2c 100644
--- a/tests/integration/actions/collections/test_direct_interactive_noee.py
+++ b/tests/integration/actions/collections/test_direct_interactive_noee.py
@@ -2,31 +2,24 @@
 """
 import pytest
 
+from ..._interactions import Command
+from ..._interactions import UiTestStep
+from ..._interactions import add_indices
+from ..._interactions import step_id_padded
 from .base import BaseClass
+from .base import base_steps
 
 
-CLI = "ansible-navigator collections --execution-environment false"
+CLI = Command(subcommand="collections", execution_environment=False).join()
 
-testdata = [
-    (0, CLI, "ansible-navigator collections browse window"),
-    (1, ":0", "Browse company_name.coll_1 plugins window"),
-    (2, ":0", "lookup_1 plugin docs window"),
-    (3, ":back", "Back to browse company_name.coll_1 plugins window"),
-    (4, ":1", "mod_1 plugin docs window"),
-    (5, ":back", "Back to browse company_name.coll_1 plugins window"),
-    (6, ":back", "Back to ansible-navigator collections browse window"),
-    (7, ":1", "Browse company_name.coll_2 plugins window"),
-    (8, ":0", "lookup_2 plugin docs window"),
-    (9, ":back", "Back to browse company_name.coll_2 plugins window"),
-    (10, ":1", "mod_2 plugin docs window"),
-    (11, ":back", "Back to browse company_name.coll_2 plugins window"),
-    (12, ":back", "Back to ansible-navigator collections browse window"),
-]
 
+initial_steps = (UiTestStep(user_input=CLI, comment="ansible-navigator collections top window"),)
 
-@pytest.mark.parametrize("index, user_input, comment", testdata)
+steps = add_indices(initial_steps + base_steps)
+
+
+@pytest.mark.parametrize("step", steps, ids=step_id_padded)
 class Test(BaseClass):
-    """Run the tests for collections from CLI, interactive, without an EE."""
+    """Run the tests for ``collections`` from CLI, interactive, with an EE."""
 
-    TEST_FOR_MODE = "interactive"
-    UPDATE_FIXTURES = False
+    update_fixtures = False
diff --git a/tests/integration/actions/collections/test_welcome_interactive_ee.py b/tests/integration/actions/collections/test_welcome_interactive_ee.py
index 2728c6189..66e43aae3 100644
--- a/tests/integration/actions/collections/test_welcome_interactive_ee.py
+++ b/tests/integration/actions/collections/test_welcome_interactive_ee.py
@@ -2,33 +2,26 @@
 """
 import pytest
 
+from ..._interactions import Command
+from ..._interactions import UiTestStep
+from ..._interactions import add_indices
+from ..._interactions import step_id_padded
 from .base import BaseClass
+from .base import base_steps
 
 
-CLI = "ansible-navigator --execution-environment true"
+CLI = Command(execution_environment=True).join()
 
-testdata = [
-    (0, CLI, "ansible-navigator welcome screen"),
-    (1, ":collections", "ansible-navigator collections top window"),
-    (2, ":0", "Browse company_name.coll_1 plugins window"),
-    (3, ":0", "lookup_1 plugin docs window"),
-    (4, ":back", "Back to browse company_name.coll_1 plugins window"),
-    (5, ":1", "mod_1 plugin docs window"),
-    (6, ":back", "Back to browse company_name.coll_1 plugins window"),
-    (7, ":back", "Back to ansible-navigator collections browse window"),
-    (8, ":1", "Browse company_name.coll_2 plugins window"),
-    (9, ":0", "lookup_2 plugin docs window"),
-    (10, ":back", "Back to browse company_name.coll_2 plugins window"),
-    (11, ":1", "mod_2 plugin docs window"),
-    (12, ":back", "Back to browse company_name.coll_2 plugins window"),
-    (13, ":back", "Back to ansible-navigator collections browse window"),
-]
+initial_steps = (
+    UiTestStep(user_input=CLI, comment="welcome screen"),
+    UiTestStep(user_input=":collections", comment="enter collections from welcome screen"),
+)
 
+steps = add_indices(initial_steps + base_steps)
 
-@pytest.mark.parametrize("index, user_input, comment", testdata)
+
+@pytest.mark.parametrize("step", steps, ids=step_id_padded)
 class Test(BaseClass):
-    """Run the tests for collections from welcome, interactive, with an EE."""
+    """Run the tests for ``collections`` from welcome, interactive, with an EE."""
 
-    TEST_FOR_MODE = "interactive"
-    EXECUTION_ENVIRONMENT_TEST = True
-    UPDATE_FIXTURES = False
+    update_fixtures = False
diff --git a/tests/integration/actions/collections/test_welcome_interactive_noee.py b/tests/integration/actions/collections/test_welcome_interactive_noee.py
index 89fb98a16..36644d2cf 100644
--- a/tests/integration/actions/collections/test_welcome_interactive_noee.py
+++ b/tests/integration/actions/collections/test_welcome_interactive_noee.py
@@ -2,32 +2,26 @@
 """
 import pytest
 
+from ..._interactions import Command
+from ..._interactions import UiTestStep
+from ..._interactions import add_indices
+from ..._interactions import step_id_padded
 from .base import BaseClass
+from .base import base_steps
 
 
-CLI = "ansible-navigator --execution-environment false"
+CLI = Command(execution_environment=False).join()
 
-testdata = [
-    (0, CLI, "ansible-navigator welcome screen"),
-    (1, ":collections", "ansible-navigator collections top window"),
-    (2, ":0", "Browse company_name.coll_1 plugins window"),
-    (3, ":0", "lookup_1 plugin docs window"),
-    (4, ":back", "Back to browse company_name.coll_1 plugins window"),
-    (5, ":1", "mod_1 plugin docs window"),
-    (6, ":back", "Back to browse company_name.coll_1 plugins window"),
-    (7, ":back", "Back to ansible-navigator collections browse window"),
-    (8, ":1", "Browse company_name.coll_2 plugins window"),
-    (9, ":0", "lookup_2 plugin docs window"),
-    (10, ":back", "Back to browse company_name.coll_2 plugins window"),
-    (11, ":1", "mod_2 plugin docs window"),
-    (12, ":back", "Back to browse company_name.coll_2 plugins window"),
-    (13, ":back", "Back to ansible-navigator collections browse window"),
-]
+initial_steps = (
+    UiTestStep(user_input=CLI, comment="welcome screen"),
+    UiTestStep(user_input=":collections", comment="enter collections from welcome screen"),
+)
 
+steps = add_indices(initial_steps + base_steps)
 
-@pytest.mark.parametrize("index, user_input, comment", testdata)
+
+@pytest.mark.parametrize("step", steps, ids=step_id_padded)
 class Test(BaseClass):
-    """Run the tests for collections from welcome, interactive, without an EE."""
+    """Run the tests for ``collections`` from welcome, interactive, without an EE."""
 
-    TEST_FOR_MODE = "interactive"
-    UPDATE_FIXTURES = False
+    update_fixtures = False