Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Results page redesign, final part #209

Merged
merged 82 commits into from
Jul 27, 2023
Merged

Results page redesign, final part #209

merged 82 commits into from
Jul 27, 2023

Conversation

mgrabovsky
Copy link
Collaborator

This pull request is to merge the results redesign into the main branch to finalise the upgrade.

Ready for the Friday deployment.

- Show task ID in page header.
In order to make the tests reproducible and consistent, the `TZ`
environment variable is fixed to Europe/Prague for tests.
Display real data in "Build summary", "Active tags" and "Tagging
history" tabs.
Load information on the artifact specified by user in the URL
dynamically. This allows, among other things, to show the correct NVR, gating
tag, gating status and task ID in the page header.
Refactor the `isResultWaivable` and `isResultMissing` functions so that
they're applicable to any state type.
Display names and statuses of known test results for a given artifact as
they're stored in the database.
Interpret `NEEDS_INSPECTION` and `NOT_APPLICABLE` outcomes from Greenwave as
failed for required tests. This makes them appear in the topmost section
of the results table with the rest of the failed tests.
Add the blue info icon for the `info`, `needs_inspection` and
`not_applicable` statuses.
Reference: OSCI-4469
Use already existing components to display test cases within a suite and
their logs, test phases, etc.

Moreover, do a little refactoring for clarity and composability by
moving some chunks into names variables or functions.
Removed several outdated TODOs and fix those that are easy to fix.
Similar to the old behavior showing the artifact name and gating status,
if available.
We know that a test is missing thanks to Greenwave, but we do not have
any contact-related metadata coming from that channel, so we have to
pull contact metadata on an as-needed basis if the test is missing.
Make sure to store the requested focus test so that we can look it up
later, once all the tests have been loaded. This ensures that if you
select a test and refresh the page, it will expand automatically. This
was broken previously because the `useEffect()` hook only runs on first
render and when the query parameters change. When this happens at page
load, the `tests` variable is not yet populated becuse the query has not
finished yet. Therefore the correct test could not have been looked up
at this point in time.
Adjust the search results table according to the UXD mock-up. Use
a minimalist table with clickable rows that take you to the
single-artifact view instead of a table with various expandable rows.

Pagination is not yet implemented in this version.
Clean up code a bit without changing behaviour.
Refactor the `ArtifactsListNew` component to make it pure and reusable
across different scenarios. Move the `useQuery()` call out to the parent
component and insert a business-logic component between the list and
the `PageByFilters` component.
@Andrei-Stepanov
Copy link
Contributor

@mgrabovsky This was revied before, in devel branch, so ACK.

@mgrabovsky mgrabovsky merged commit 70c3063 into main Jul 27, 2023
2 checks passed
@mgrabovsky mgrabovsky deleted the feature-redesign branch July 27, 2023 10:27
@mgrabovsky
Copy link
Collaborator Author

Thanks. Tomorrow, I will tag this v.prod and deploy to production.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants