This button is used to launch the wizard in the old images table, it
should not be used in the blueprints table (as the Create blueprint
button has been moved to the header).
These are taking up too much space on the screen. Links to the
quickstarts need to be moved to more relevant locations. We are
currently working with UX on a design for this.
This commit DRYs out the code, extracting the logic for setting the
value of the experimentalFlag into a new hook found in the utilities.
It also makes the typing stricter - the hook returns a boolean. The
pattern we were using previously to set the value of experimentalFlag
variables could be boolean, string, or undefined.
The data-testid for the Create image button in the empty state has been
renamed from create-image-action has been renamed to create-image-action-empty-state.
The test `renders EmptyState child component` started failing after changing
isBeta() from false to true in the useChrome() mocking function.
It was failing because the findBy query selector was able to find two
components with this data-testid, which was truly the case - the Create
Image button in the table header, and the Create Image button in the
empty state.
I have no explanation for why this test wasn't failing before.
When the unleash switch `image-builder.new-wizard.enabled` will get
activated on stage the blueprint and new wizard will be visible on the
platform.
To make them only visible in preview we need to change the condition to
check if Beta is selected by the user.
This removes aspectRatio from the ReleaseLifecycle chart. The set aspectRatio was causing incorrect rendering of the annotation line, making time travel during image building inevitable.
This moves the FormGroup outside of the ActivationKeyInformation component and puts it higher into index of the Registration step. This way the group label does not get rendered on the Review step.
Adding an optional search parameter to the V2 wizard like so:
/insights/image-builder/imagewizard?release=rhel8
results in the wizard being opened and RHEL 8 being pre-selected as the release.
The Insights assistant chat bot will make use of this feature.
The render() test utility function had to be updated to accept an
optional searchParams argument.
This moves the "Additional customizations" alert outside of OscapProfileInformation which ensures it is not shown in the Oscap expandable on the Review step.
User can see the added customisations in the individual expandables, making the alert non-actionable extra information.
Adding an optional search parameter to the wizard like so:
/insights/image-builder/imagewizard?release=rhel8
results in the wizard being opened and RHEL 8 being pre-selected as the
release.
The Insights assistant chat bot will make use of this feature.
This fixes a bug on the registration step which made the text "Connect to Red Hat Insights" not to get rendered when registering with rhc.
All registration tests were also enabled in CreateImageWizard.test.tsx
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.
Previously we've used two steps for adding packages - the Additional Red Hat packages and Additional Custom packages steps. This merges the two steps into one.
Also the steps originally used `DualListSelector` to show the packages options, this was now migrated to the packages `Table` which makes the step visually consistent with the Repositories one. Although the functionality is a bit different.
Repositories step fetches the complete list of repositories right at the beginning and then mutates it by filtering. The Packages step fetches the data based on a search term which means that the "All" table gets overwritten by new values anytime a new term is searched.
Previously used axios API calls were also migrated to RTK Query for the purpose of consistency.
The AWS account id was not displayed correctly in the review step in the
case that a source was being used. This commit fixes the issue. When a
source is used, the AWS account id is fetched as before in order to
display it on the AWS step - but that value is also now dispatched to
the store so it can be referenced later (like in the review step).
This created a new folder for the Azure step and copies components that will be needed:
- AzureAuthButton.tsx
- AzureResouceGroups.tsx
- AzureSourcesSelect.tsx
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`.
this commit adds kernel arguments and enabled/disabled services to Oscap step.
and also add to Review step, add some tests to kernel and services as well.
This removes the aspect ratio for chart and sets `maintainAspectRatio` to false.
The aspect ratio was causing problems with the annotation plugin, rendering the currentDate annotation line in a wrong place for some windows sizes.