Commit graph

12 commits

Author SHA1 Message Date
lucasgarfield
e923cccd41 V2Wizard/Repositories: Add payload_repositories to request and test it
Previously the V2 Wizard's request mapper was only adding the
custom_repositories field. We also need to add a nearly duplicate
payload_repositories field due to how the image-builder API works...
which is admittedly not intuitive.

Tests are also added to ensure that requests are generated correctly
when using the custom repositories feature.
2024-03-01 10:02:52 +01:00
lucasgarfield
ed61f17d58 V2Wizard/Packages: Add tests for requests
Adds tests that verify using the custom packages step to add a custom
package results in a correctly generated API request.
2024-02-29 14:37:46 +01:00
regexowl
4c80ab4ad7 test: Adjust original CreateImageWizard tests according to fixture changes
The packages fixtures for content sources have "-sources" added to their name. This updates the tests accordingly.
2024-02-28 17:17:00 +01:00
lucasgarfield
d4c9534ecc V2Wizard/Details: Add request assertion tests
Adds tests to verify requets for images with names and descriptions are
formulated correctly.

Test functions shared/common to multiple steps were extracted to the
test utilities.
2024-02-15 13:10:34 +01:00
lucasgarfield
ef7582a8ff V2Wizard/Tests: Add new helper function interceptBlueprintRequest
The logic for spying on an API request has been extracted into a new
reusable helper function to make writing tests that need to perform
request assertions easier.
2024-02-15 13:10:34 +01:00
lucasgarfield
8c31e6f54f V2Wizard/Registration: Add request assertion tests
We need to start using `undefined` as the default state for when a value
has not been defined. Previously we had used things like `’’` for string
typed values. But this causes problems later when generating the request
we send to image-builder. Using `undefined` is explicit and will make
generating the requests much easier (as we don’t need to check for `’’`,
determine the intent, and convert it to undefined if necessary).
Explicit is better than implicit.

With that in mind, tests have been added to ensure that the correct
request is sent to the API for every option on the Registration step.
This is facilitated using a new `spyOnRequest()` function. In the
future, we will have similar tests for the rest of the steps.

A few other minor things:

1. We need to get the `store` using `useStore()`
for when we later call `store.getState()` because the tests use a different
store that is configured in the renderer than the one we were importing.

2. In the wizardSlice, a new type RegistrationType is added that provides
additional type safety instead of using `string`.
2024-02-14 17:01:52 +01:00
regexowl
f90718815b test: Replace .getBy queries by awaited .findBy
Components sometimes render slower than tests run which causes failures when the test suite expects elements that did not finish their rendering yet.

This should help to prevent most of possible problems with the rendering speed.
2024-01-17 17:19:57 +01:00
lucasgarfield
e5f37450a1 V2Wizard: Enable <TargetEnvironment> specific tests
These tests have been updated to satisfy Typescript and are passing.
2024-01-08 11:59:23 +01:00
lucasgarfield
0acb93fe12 V2Wizard: Copy TargetEnvironment specific tests
No changes have been made to this file yet, it has just been copied for
the V2 wizard and converted to .tsx.
2024-01-08 11:59:23 +01:00
lucasgarfield
e1f66dd444 V2Wizard: Clean up for a fresh start
To make code reviews easier, these files are being removed for now. They
will be added back over time in a way that results in clearer diffs.
2024-01-08 11:24:54 +01:00
regexowl
c11f80188e test: Update release select option to partial match
With description added to the RHEL release options in Release select every query using name needed to be updated from full to partial match.
2023-12-07 19:39:58 +01:00
Thomas Lavocat
c7ffde49ae wizard/tests: add integration and unit tests
Add integration and unit tests for the wizard. The integration testing
is making sure that the wizard holds up together, is navigable and has
at least a happy path tested.
The unit test of the ImageOuput tests more combinations of clicks on the
interface and make sure the inner logic is sound.

The intersection of the two tests brings us confidence that the UX will
work according to spec.
2023-11-14 09:33:36 +01:00