Image Builder service for console.redhat.com
Find a file
Aleksandar Todorov 7639452298 tests: Spy on history.push instead of trying to assert page change
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
2020-11-30 13:32:40 +02:00
.github/workflows github: Move action to workflows folder 2020-10-27 17:36:36 +01:00
.travis Rename master to main 2020-11-18 14:47:33 +01:00
config test: add initial jest tests 2020-10-22 10:23:08 +02:00
profiles Rename to image-builder-frontend 2020-09-14 12:16:35 +02:00
src tests: Spy on history.push instead of trying to assert page change 2020-11-30 13:32:40 +02:00
tools tools: Make make-bots executable 2020-10-27 18:09:24 +01:00
.babelrc copy from RedHatInsights/insights-frontend-starter-app template 2020-04-15 12:46:02 +02:00
.eslintrc.yml tests: Spy on history.push instead of trying to assert page change 2020-11-30 13:32:40 +02:00
.gitignore npm: Use npm-update to keep all packages updated 2020-11-02 19:40:48 +01:00
.stylelintrc.json copy from RedHatInsights/insights-frontend-starter-app template 2020-04-15 12:46:02 +02:00
.travis.yml Revert "Update travis config file to rebase on master before test running" 2020-11-11 13:04:23 +02:00
LICENSE osbuild-installer-frontend 2020-03-27 10:14:04 +01:00
package.json package.json: Update major versions of react and patternfly 2020-11-27 11:35:23 +02:00
README.md Rename to image-builder-frontend 2020-09-14 12:16:35 +02:00

image-builder-frontend

Development

  1. Clone the following repositories:

Optional: https://github.com/osbuild/osbuild-composer

  1. Setting up the proxy

    Choose a runner (podman or docker), and point the SPANDX_CONFIG variable to profile/local-frontend-and-api-with-identity.js included in image-builder-frontend.

        sudo insights-proxy/scripts/patch-etc-hosts.sh
        export RUNNER="podman"
        export SPANDX_CONFIG=$PATH_TO/image-builder-frontend/profiles/local-frontend-and-api-with-identity.js
        sudo -E insights-proxy/scripts/run.sh
    
  2. Starting up osbuild-composer-cloud

    Make sure osbuild-composer is installed and osbuild-composer-cloud is enabled:

    sudo systemctl enable --now osbuild-composer-cloud.socket

    Start a remote worker like so:

    sudo systemctl enable --now osbuild-remote-worker@localhost:8704

  3. Starting up image-builder In the image-builder checkout directory

        make build
        OSBUILD_SERVICE="http://127.0.0.1:8703/" ./image-builder
    
  4. Starting up image-builder-frontend

    In the image-builder-frontend checkout direcotry

        npm install
        npm start
    

The UI should be running on https://prod.foo.redhat.com:1337/apps/image-builder/landing, the api (image-builder) on https://prod.foo.redhat.com:1337/api/image-builder/v1/openapi.json