If register now is selected, an activation key is required. If no
activation key is entered the Next and Create buttons are disabled.
Also, if the activation key is empty an error message will appear to
prompt the user to enter an activation key.
The subscription errors variable is removed in favor of declaring the
error message directly in the registration step component. The
validateSubscription function is removed in favor of validating the
activation key field on change.
The user should not be able to continue without selecting an upload
destination. The uploadDestination fields are now checked to see if one
is selected before enabling the Next button in the footer. Also, the
onSaveInProgress variable is changed to isSaveInProgress to conform with
the other validation variables.
The user can now specify their authentication settings for Google Cloud
Platform. These can be either a Google account, Service account, Google
group, or a domain.
The review page now uses more patternfly components and has been split
up a little so it is easier to add review fields for additional target
environments.
The additional package selection step is added to the create image
wizard. Users can now query for packages and select them from a list.
These packages are not yet passed into the blueprint customizations and
are just for display. Tests have been updated and added.
The user can now select between multiple upload providers. AWS, Azure,
and Google. The selection uses tiles and the user can select one or more
destinations. Currently, only aws supports setting the upload
parameters.
The icons point to files hosted on cloud.redhat.com.
see previous commit for explanation why we do it like that!
Also simplify how the mocked backend API returns a promise and
wait for it on the assertions.
When the SUT calls history.push that will cause a page redirect
inside the browser. However it doesn't cause the new page to be
rendered when running the test suite hence all assertions fail!
The reason for this is that Jest + RTL use jsdom under the hood,
which partially implements HTML/DOM APIs but **IS NOT** a browser!
It also turns out RTL is not well suited for end-to-end scenarios
which cover multiple pages.
This commit:
- patches renderWithReduxRouter() to also return the history object
so we can set a spy on it later
- changes eslint confirugration to ignore unused variables starting
with underscore
- updates the verifyCancelButton() function and scenarios which
make use of it
instead of waiting inside verifyCancelButton() make it return the
result of waitFor, which is a promise, and wait on it inside each
individual test scenario.
- `npm run test:single` runs jest with `-w 1`, makes the output readable
- adds testIds to the radio buttons, I think it's a bit bugged where if
you click the label it'll automatically switch to the first radio button
(even if you click the label of the 2nd button)
- moved a misplaced wait
otherwise we get:
Error: The element(s) given to waitForElementToBeRemoved are
already removed. waitForElementToBeRemoved requires that the
element(s) exist(s) before waiting for removal.
- Make activation key input field required
- Registration step in CreateImageWizard
- should allow choosing activation keys
- should hide input fields when clicking Register the system later
- sanity validation of each of the 4 steps
- click through buttons Next/Back/Cancel
Notes:
- add data-testid attribute for the release select field b/c
there's no better way to query it
- add @testing-library/jest-dom for additional asserts