Commit graph

1192 commits

Author SHA1 Message Date
lucasgarfield
a5aad6935f ImagesTable: Update RegionsPopover to prepare for Launch/Provisioning GA
Previously, the Launch/Provisioning wizard was only available in
preview. If an AWS or Azure image was created in preview and shared with
a source, and then viewed in the images table in stable, a popover over
the stable launch link would inform the user that the image had been
created in preview and provide a link to go to preview.

Now that launch/provisioning is going GA and the launch wizard is
available in stable, this feature is no longer necessary.
2023-08-23 15:59:32 +02:00
Ondrej Ezr
b486f44dcb Custom Repositories gate by Feature flag 2023-08-23 15:38:25 +02:00
regexowl
77ff00d107 lint: Fix the "Expected a default case" warning
This fixes the "Expected a default case" warning
2023-08-23 14:54:23 +02:00
regexowl
b3767e0503 lint: Fix "missing alt for images" warning
This fixes the "img elements must have an alt prop, either with meaningful text, or an empty string for decorative images" warning.
2023-08-23 14:54:23 +02:00
regexowl
a9dc4f4a14 lint: Fix "assign before exporting" warnings
This fixes all instances which caused the following lint warning: "Assign object/arrow function to a variable before exporting as module default"
2023-08-23 14:54:23 +02:00
dependabot[bot]
7324e647a4 build(deps-dev): bump sass from 1.64.2 to 1.66.1
Bumps [sass](https://github.com/sass/dart-sass) from 1.64.2 to 1.66.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.64.2...1.66.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 13:01:18 +02:00
Ondrej Ezr
1cd3f397e6 Remove the Preview banner 2023-08-23 09:39:18 +02:00
Ondrej Ezr
2a8e5a10df Launch button in stable environments
This moves Beta only features to stable environment:
- Sharing Images through Sources
- Launch button

This tries to avoid any refactoring, just moving components from Beta to stable with minimal changes.
2023-08-23 09:27:25 +02:00
dependabot[bot]
e5575d7a2d build(deps-dev): bump @babel/core from 7.22.9 to 7.22.10
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.22.9 to 7.22.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.22.10/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-22 09:56:37 +02:00
dependabot[bot]
58d836db77 build(deps-dev): bump eslint-plugin-import from 2.27.5 to 2.28.1
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.27.5 to 2.28.1.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.27.5...v2.28.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 10:29:59 +02:00
Sanne Raymaekers
042af03052 CreateImageWizard: don't allow arbitrary mountpoints under /boot 2023-08-21 09:02:14 +02:00
lucasgarfield
29704a0725 eslint/hooks: obey rules of hooks
See https://legacy.reactjs.org/docs/hooks-rules.html.
2023-08-17 17:18:55 +02:00
Thomas Lavocat
8ab31edbe9 eslint/expect: uneffective tests
Correct the tests that were not testing the result. And set the values
to a functioning one.
2023-08-17 17:18:55 +02:00
Thomas Lavocat
3b8afeaf7d eslint/excpect: should not be called conditionally
This commit fixes the error but not really the pattern. We should
consider refactoring the tests following these guidelines:
https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-conditional-expect.md
2023-08-17 17:18:55 +02:00
Thomas Lavocat
a1834ed76e eslint: unused-expression
A ternary operator means that something's going to be assigned to
something, and I think the interpretor might or might not have had
executed that ternary operator before this fix 🤷. Anyway,
rewritten as a if, it's the same as before, except that this time we
know it'll be executed.
2023-08-17 17:18:55 +02:00
Thomas Lavocat
89437c5e23 eslint: no conditional use calls
Move the calls of the use function outside conditions so that their
calling is consistent no matter what happens.
2023-08-17 17:18:55 +02:00
Thomas Lavocat
bf7f22413b eslintrc: identation
Correct indentation for the yml content.
2023-08-17 17:18:55 +02:00
Thomas Lavocat
a91ca3f9d0 eslint: configure eslint for react app
Add additional linting information and help on react components and
hooks. See https://www.npmjs.com/package/eslint-config-react-app
https://react.dev/learn/editor-setup#linting

Also, cleans duplicated between eslintrc and eslintrc-typescript.
2023-08-17 17:18:55 +02:00
Thomas Lavocat
178791f2ad router: lazy loading needs a suspense tag
According to the React documentation[0], a suspense tag is needed to
encapsulate a lazy loaded component. Some bad behavior have been fix in
the UI thanks to that tag (i.e notification popup unclosable after
wizard creation).

[0] https://react.dev/reference/react/lazy#suspense-for-code-splitting
2023-08-17 15:37:21 +02:00
Jakub Rusz
d66b013f5b pr_check: update to enable testing with MR image
We can now test using a test container built in a downstream MR.
2023-08-16 14:49:50 +02:00
lucasgarfield
0de68305c1 Wizard: Update registration step activation key link URL
Fixes HMS-2322: On the Register step of the image build wizard, the link
to "Create and manage activation keys here" should point to
https://console.redhat.com/insights/connector/activation-keys.
2023-08-16 14:31:52 +02:00
regexowl
8fbad0d99b test/fixtures: Migrate some fixtures to TypeScript
This migrates following fixtures to TypeScript:
- architectures
- customizations
- sources

Typing and explicit returns were added.

The extensions of `composes` and `packages` fixtures were also updated from .tsx to .ts
2023-08-16 13:39:16 +02:00
Amir Fefer
9fd260cfea feat(HMS-1909): enable a custom host in LOCAL_API env var 2023-08-16 13:27:21 +02:00
aabramov
d8e47de0c5 Add GCP quickstart 2023-08-16 10:07:02 +02:00
Ondrej Ezr
847ba2371d Prepare for Provisioning list endpoint nesting 2023-08-11 09:34:14 +02:00
regexowl
fffdb27b70 test/fixtures: Migrate repositories fixture to TypeScript
This migrates repositories fixture to TypeScript.
2023-08-10 13:46:20 +02:00
regexowl
cdce271306 Wizard: Migrate ActivationKeyInformation to TypeScript
This migrates the ActivationKeyInformation component to TypeScript
2023-08-10 12:56:46 +02:00
regexowl
ac70712f6a test/fixtures: Migrate activationKeys fixture to TypeScript
This migrates the activationKeys fixture to TypeScript.
2023-08-10 12:56:46 +02:00
regexowl
05bc175a71 api/config: Lint API configs
This fixes linting errors in configuration files for API code generation.
2023-08-10 10:20:47 +02:00
Thomas Lavocat
b8c136dccb wizard: avoid a no-op
This removes a warning on a no-op being fired when the wizard changes a
state when the request for creation comes back as a success.
Instead don't update the form state if the wizard is going to be closed
anyway.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
e8380c12b9 jest: fail on error messages
Use the library https://github.com/ValentinH/jest-fail-on-console to
spy on the errors to make test failing if any occur.

Transfer the configuration from the previous FilteredConsole to this new
library.

Allow a few targeted errors to occur to give some time to refactor while
keeping the benefits to have failing on new error messages.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
697d0af4b5 test/wizard/azure: avoid scalprum errors
Avoid having to deal with scalprum errors by not rendering the
LandingPage.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
baefa79bb8 tests/wizard/azure: separate tests
A weird error occurs because when the tests are executing together. To
avoid that, as a temporary measure, separate the last test in a separate
file to ensure insolation from its peers.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
6b1ae7d1d8 test/wizard/beta: avoid scalprum errors
Avoid having to deal with scalprum errors by not rendering the
LandingPage.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
71126b1d26 test/wizard/beta: fix act errors
Brute force approach to fix the act errors in the Wizard tests. It's not
ideal but allows to move on toward activating strict mode on the test
suite ASAP
2023-08-09 16:03:00 +02:00
Thomas Lavocat
62bca76627 test/wizard: avoid scalprum errors
Avoid having to deal with scalprum errors by not rendering the
LandingPage.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
dc3cac8902 jest: bump the timeout
5s is too rapid for a laptop. Bump the timeout to 15s to have a little
room.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
dd54af2c7b test/wizard: fix act errors
Brute force approach to fix the act errors in the Wizard tests. It's not
ideal but allows to move on toward activating strict mode on the test
suite ASAP.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
2b051823bf test/ShareImageModal: use act when accessing the UI
Errors were fired upon while testing the ShareImageModal because some
clicks on the UI were not encapsulated in an act block. This is now
patched up.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
8144aaa76d test/ShareImageModal: only render the modal
Before, the LandingPage was not properly rendering because
EdgeImagesTable has a dependency to Scalprum. Scalprum is a service that
is provided by Insight that enables up to access shared components.
However scalprum wasn't getting initialized properly during the
execution of the unit tests making the entire LandingPage not rendering.

There are ways to mock scalprum but this commit takes another decision
to fix the issue. Instead of having a test environment rendering the
LandingPage and the Wizard to test the ShareImageModal, the rendering is
tailored to ShareImageModal needs, which only contains the rendering of
that said module + static routes to avoid 404 on final redirections.

This makes the scalprum errors go without hurting the coverage of the
tests.
2023-08-09 16:03:00 +02:00
Thomas Lavocat
9361ee8224 api: fix the null access
Some components were crashing in the test due to a lack of protection
for cases where any data is returned from the API. This solution is
quite temporary and is only ment to allow the unit tests to execute
without throwing errors. A major refactor of the queries is on its way
with RTKQueries and will fix the behavior when data can't be properly
fetched.
2023-08-09 16:03:00 +02:00
dependabot[bot]
2cfef86e01 build(deps-dev): bump eslint-plugin-testing-library
Bumps [eslint-plugin-testing-library](https://github.com/testing-library/eslint-plugin-testing-library) from 5.11.0 to 5.11.1.
- [Release notes](https://github.com/testing-library/eslint-plugin-testing-library/releases)
- [Changelog](https://github.com/testing-library/eslint-plugin-testing-library/blob/main/.releaserc.json)
- [Commits](https://github.com/testing-library/eslint-plugin-testing-library/compare/v5.11.0...v5.11.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-testing-library
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-09 08:30:14 +02:00
dependabot[bot]
73e41ba72c build(deps): bump tough-cookie and @cypress/request
Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) and [@cypress/request](https://github.com/cypress-io/request). These dependencies needed to be updated together.

Updates `tough-cookie` from 2.5.0 to 4.1.3
- [Release notes](https://github.com/salesforce/tough-cookie/releases)
- [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md)
- [Commits](https://github.com/salesforce/tough-cookie/compare/v2.5.0...v4.1.3)

Updates `@cypress/request` from 2.88.11 to 2.88.12
- [Release notes](https://github.com/cypress-io/request/releases)
- [Changelog](https://github.com/cypress-io/request/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/request/compare/v2.88.11...v2.88.12)

---
updated-dependencies:
- dependency-name: tough-cookie
  dependency-type: indirect
- dependency-name: "@cypress/request"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-08 14:16:00 +02:00
regexowl
87ff2a24c9 Wizard: Fix the Failed prop type error
Incorrect proptype for `selectedAvailablePackages` was causing following error:
```Warning: Failed prop type: Invalid prop `selectedAvailablePackages` of type `object` supplied to `ExactMatch`, expected an array.```

This fixes the problem.
2023-08-08 13:56:51 +02:00
lucasgarfield
c3397794d6 ImagesTable: Fix bug where vsphere-ova details are not displayed
The conditional in the image details component needed to have a check
added for vsphere-ova type images.

A mock compose and corresponding status for a vsphere-ova type image
have also been added.
2023-08-08 13:18:30 +02:00
regexowl
9a4c07c7ea Wizard: Fix visibility of the Image Details expandable
The Image Details expandable is now visible even if no name or description were added for the image. This fixes the issue.
2023-08-07 15:09:31 +02:00
regexowl
5b516a5270 test/fixtures: Update timestamps of mock composes
The format of the timestamps of mock composes was causing an error in msw browser after merging https://github.com/RedHatInsights/image-builder-frontend/pull/1137

This updates the mock timestamps to the format of the actual ones fetched from the API.
2023-08-07 14:36:19 +02:00
dependabot[bot]
523fe3af8c build(deps-dev): bump jest from 29.6.1 to 29.6.2
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.6.1 to 29.6.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.6.2/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 11:26:37 +02:00
Thomas Lavocat
48bd38c496 LandingPage: conversion to type script
Conversion to type script by renaming the file and correcting the type
errors.
2023-08-07 11:08:19 +02:00
Thomas Lavocat
154429212f LandingPage: fix the button in a button error
Previously the Popover was used within the title of the tab. In addition
to the fact that the Popover had a button to get triggered, it created a
button in a button issue. The web browser was reporting this as abnormal
and the UI behavior was not ideal: while clicking on the interrogation
mark the user was also moved to the corresponding tab.

This commit fixes that issue by using a TabAction to get the Popover
working. Inspired by the patternfly documentation:
- http://v4-archive.patternfly.org/v4/components/tabs#help-action
2023-08-07 11:08:19 +02:00