gem-workflow-tests.md 21 KB

Gem Workflow Tests

These workflows center around testing the basic functionality of the Project Manager's gem tooling. Including Gem Creation, Gem Catalog, and Gem Remote Sources Manager.

General Docs

Common Issues

  • Dialogs do not open or progress as expected.
  • Created gems do not immediately refresh in Gem Catalog list.

Workflows

Area: Gem Catalog Experience

Platforms:

  • Windows
  • Linux

Product: A project with modified gems.

Suggested Time Box: 15 minutes per platform.

Workflow Requests Things to Watch For
Find a gem in the Gem Catalog
  1. Open the O3DE Project Manager.
  2. Select the Gems button from the O3DE Project Manager navigation ribbon.
  3. Apply a simple search string to the Search Bar.
    • Something simple like physics.
  4. Apply Search Filters to discover a gem that you need from the different filter categories.
  • Gem Catalog can be opened.
  • Applying/removing a search string in the Search Bar displays the expected gems.
  • Applying/removing a Search Filter displays the expected gems.
  • The expected Gem Image, Gem Name, Gem Summary, and Gem Status are displayed for each gem's Gem Entry in the Gem List.
    • Gem Images can be seen for given gems and have the expected quality.
    • Default Gem Image is present when there isn't a specific one authored for the gem.
    • The Gem Name field in the Gem List can be resized by clicking on the separator between the Gem Name & Gem Summary header titles in the Gem List.
Edit a gem
  1. Find a gem you want to edit in the Gem Catalog using your desired search & filter method.
  2. Select the gem you want to edit.
  3. Click the Edit button in the Gem Details panel.
  4. Modify the Gem Details you want to edit and click next.
  5. Modify Creator Details you want to edit and confirm.
  • When gem is selected the gem's Gem Details, Creator Details, and Gem Dependencies are displayed in the Gem Details panel.
  • Links in the Gem Details panel for a selected gem are clickable and respond as expected.
    • Clicking on a Depending Gem in the Gem Details panel will navigate to and display the info for the Depending Gem that was clicked if it is available.
  • Gem Details can be modified and are reflected when changed in the Gem Catalog as well as in the gem's gem.json file.
  • Gem Details can be modified and are reflected when changed in the Creator Catalog as well as in the gem's gem.json file.

Workflow: Create a Gem from O3DE Project Manager

New Gem Template

  • Prebuilt Gem
  • GemRepo
  • Asset Gem
  • Default Gem
  • C++ Tool Gem
  • Python Tool Gem
  • Choose existing template

Gem Details Editable Fields

  • Gem System Name [*Required]
  • Gem Display Name [*Required]
  • Gem Summary
  • Requirements
  • Target Platform(s)
  • License [*Required]
  • License URL
  • User-defined Gem Tags
  • Gem Location [*Required] o3de/o3de#13736
  • Gem Icon Path o3de/o3de#15540
  • Documentation URL

Creator Details Editable Fields

  • Creator Name [*Required]
  • Origin URL
  • Repository URL

Target Platforms:

  • Windows
  • Linux
  • iOS
  • Android
  • All Platforms

Platforms

  • Windows
  • Linux

Product: A newly created gem that can interact with the Gem Catalog, is present on the file system, and be added to a project.

Suggested Time Box: 30 minutes per platform.

Workflow Steps Expectations
Create a Gem Experience
  1. Enter the Gem Catalog.
  2. Select the hamburger menu in the top right corner.
  3. Select Create New Gem.
  4. Select a gem type or template that you want to create and click next.
  5. Populate the gem details fields and click next.
  6. Populate the Creator Details and click next.
  7. Return to Gem Catalog and refresh.
Gem name matches existing gem
  1. Create two gems with the same name, but different values for description, etc.
  • No issues in using both gems together.
Platform Support - Platforms Specified
  1. Create a Gem and include desired Target Platforms selections on the Gem Details panel.
  • Created Gem shows the selected Platforms in its description within the Gem Catalog.
Platform Support - Platforms Unspecified
  1. Create a Gem, without including any desired Target Platforms
  • Created Gem Shows no entry related to Platforms in its description within the Gem Catalog.

Workflow: Add a remote gem from O3DE Project Manager

Workflow Docs O3DE Gem Repositories

Repository Configuration

A git repository must contain a repo.json at its root which points to templates. The repo.json contains a gems list which points to the remote gems within said repository.

See sample-code-gems repo.json as an example.

{
    "gems": [
        "https://raw.githubusercontent.com/o3de/sample-code-gems/main/atom_gems/AtomTutorials",
        "https://raw.githubusercontent.com/o3de/sample-code-gems/main/cpp_gems/ShapeExample",
        "https://raw.githubusercontent.com/o3de/sample-code-gems/main/py_gems/PyShapeExample"
    ]
}

Workflow Requirements

  • A built project to add a remote gem to (a blank template project is acceptable).
  • Locally installed tools for the remote source being used (git installed with credentials for GitHub, for example)
  • A remote Git repository (GitHub, AWS CodeCommit, BitBucket, self-hosted, ETC) that has a remote project.

Platforms

  • Windows
  • Linux

Product: A built project with a remote gem added to it.

Suggested Timebox: 30 minutes per platform


Workflow: Verify Gem's version and engine compatibility in Project Manager

Workflow Docs

O3DE Gem Repositories

Workflow Requirements

  • O3DE built
  • Gem with at least two versions

Platforms

  • Windows
  • Linux

Product: Gem's version, and Engine compatible data displayed in the Gem's Inspector.

Suggested Timebox: 30 minutes per platform

Workflow Requests Things to Watch For
Add Remote Gem(s) to Gem Remote Sources Manager.
  1. Open O3DE Project Manager.
  2. Select Gems from the O3DE Project Manager Ribbon.
  3. Open Gem Remote Sources Manager.
    • Gem Catalog Hamburger Menu → Show Gem Repos
  4. Add your remote gem repository.
    • Click Add Repository button.
    • Add your remote gem URI and click the Add button in the Add a User Repository dialog.
  • Gem Remote Sources Manager lists the remote repositories.
  • Remote gems are displayed in Gem Catalog only when Remote Source is added to the Gem Remote Sources Manager.
  • Gem Remote Sources Manager can be refreshed.
  • A Remote Source can be deleted from the Gem Remote Sources Manager.
  • Gems that have had their Remote Source removed from the Remote Sources Manager do not display in the Gem Catalog.
Add Remote Gem to an O3DE Project.
  1. Add Remote Gem(s) to the Gem Remote Sources Manager.
  2. Configure your project to add your Remote Gem(s).
  3. Build and open your project in the O3DE Editor.
  • Remote Gem(s) can be added & removed from an O3DE Project.
  • Known good Remote Gem(s) should build.
  • Remote Gem(s) content can be interacted with from the O3DE Editor.
    • EG: Assets are processed and available in asset manager if assets are present.
    • EG: Editor Entity Components can be added if Editor Entity Components are present.
    • EG: Script Canvas nodes can be added to a graph if Script Canvas nodes are present in the gem.

Workflow Requests Things to Watch For
Verify Gem's compatible engine
  1. Open the O3DE Project Manager.
  2. Select Gems tab.
  3. Select any Gem from the Gem Catalog list.
  4. In the Inspector, verify that Compatible Engines data is present.
  • The Compatible Engines data is empty.
  • The Compatible Engines data is missing.
Verify Gem's version changes
  1. Add a Gem with at least two versions to the engine.
  2. Open the O3DE Project Manager.
  3. Select Gems tab.
  4. Search for a Gem with multiple versions in Gem Catalog.
  5. Select the Gem.
  6. In the Inspector, change the Gem's version by using the dropdown menu.
    • Gem's version data is not displayed in the Inspector
    • Gem's with multiple versions are not displayed in the Gems Catalog.
    • Gem's version dropdown menu is not working.
    • Changing the Gem's version in the Gem's Catalog Inspector does not have any effect - Initialy selected version of the Gem is active.