test refactored navigation / add portal capabilities

add test coverage for navigation and add portal capabilities:

- [x] test coverage
- [x] finish the code
- [x] gather feedback for my changes


| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | yes
| Tests pass?   | yes
| Fixed tickets | none
| Doc           | none