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

PROD-2599 Update PC to support hierarchical consent notices + Update all types #5291

Open
wants to merge 27 commits into
base: main
Choose a base branch
from

Conversation

lucanovera
Copy link
Contributor

@lucanovera lucanovera commented Sep 17, 2024

Description Of Changes

Implement hierarchical relationships for Privacy Center consent. Update all openapi generated types, fix type issues.

BE branch needed: https://github.com/ethyca/fidesplus/pull/1602
FE admin-ui branch: #5264

Note for reviewer: You'll probably want to ignore the autogenerated types changes that are in the types/models folder. Also you'll see some type fixes, casting, adding ? !. Basically PC was using a set of hardcoded minimal types that were very outdated AND it still supports a "config-file" driven consent that doesn't use the api. The goal was to get everything updated and typescript working, but it will definitely look cleaner once we deprecate the config consent mode.

Code Changes

  • Modified NoticeDrivenConsent.tsx to handle notice children
  • Added ConsentItemAccordion
  • Updated UI to new designs, improved responsive experience
  • Updated all types generated with openapi:generate, fixed any conflicts between types

Screenshots

Screen Shot 2024-09-18 at 09 53 35

Screen Shot 2024-09-18 at 09 53 43

Steps to Confirm

Admin UI pre-requesites

  • Follow the steps from the admin-ui pr to create a notice with some notice children PROD-2476: Support hierarchical notices in Admin-UI #5264
  • Make sure both parent notices and children notices are enabled
  • Go to Experiences and edit the Privacy Center Experience, make sure the parent notice is added to the experience

Privacy Center

  • Go to the consent screen for privacy center
  • Check that when you open the accordion for the parent notice, the children notices are displayed too
  • Check that the toggle behavior is correct
    • When any children is toggle, parent should be toggled
    • When parent is toggle off, all children should toggle off
    • When parent is toggle on, all children should toggle on
  • Open browser dev tools, the network tab and then save your consent preferences. Check that the privacy-preferences request includes parent and child notices
  • Open the consent page again with dev tools still open. Check that the notices-served request includes the parent and child notices.
  • Check that the consent page is showing all toggles in the same state as it was when you saved it. This means the cookies were saved and the loaded correctly.

Pre-Merge Checklist

  • All CI Pipelines Succeeded
  • Issue Requirements are Met
  • Update CHANGELOG.md

Copy link

vercel bot commented Sep 17, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
fides-plus-nightly ⬜️ Ignored (Inspect) Visit Preview Sep 18, 2024 1:25pm

Lucano Vera added 2 commits September 17, 2024 10:23
…-Center-Update-consent-management-screen-to-render-hierarchical-notices
@lucanovera lucanovera changed the title PROD-2599 privacy center update consent management screen to render hierarchical notices PROD-2599 Update PC to support hierarchical consent notices + Update all types Sep 17, 2024
Copy link

cypress bot commented Sep 17, 2024

fides    Run #9973

Run Properties:  status check passed Passed #9973  •  git commit 3a39c33d35 ℹ️: Merge b44643d5920ceeef54c57fa77246c36ef65db8af into 31bc63a2a299544cb8f76e552320...
Project fides
Branch Review refs/pull/5291/merge
Run status status check passed Passed #9973
Run duration 00m 36s
Commit git commit 3a39c33d35 ℹ️: Merge b44643d5920ceeef54c57fa77246c36ef65db8af into 31bc63a2a299544cb8f76e552320...
Committer Lucano Vera
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 4
⚠️ You've recorded test results over your free plan limit.
Upgrade your plan to view test results.
View all changes introduced in this branch ↗︎

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.

1 participant