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

tech-story: [M3-8940] - Dev Tools fixes and improvements #11328

Open
wants to merge 11 commits into
base: develop
Choose a base branch
from

Conversation

abailly-akamai
Copy link
Contributor

@abailly-akamai abailly-akamai commented Nov 26, 2024

Description 📝

Long overdue updates to our beloved Dev Tools. This PR does not touch any client code. Brings a lot of improvements and fixes to presets and mocking.

Note

Code quality/readability/reusability is not as high as it would be for client code, tho I tried best to achieve that while working quickly. The goal aims to help the developer experience first 💨

Changes 🔄

  • Allow JSON/nested feature flags toggling (recursively)
  • Fix DevTools panel overflow
  • Improve re-haul Account/Profile mocking
  • Style improvements

Target release date 🗓️

Please specify a release date (and environment, if applicable) to guarantee timely review of this PR. If exact date is not known, please approximate and update it as needed.

Preview 📷

Screenshot 2024-11-26 at 14 38 03

Screenshot 2024-11-26 at 14 38 18

How to test 🧪

Verification steps

  • Play with MSW, verify
    • Nested feature flags
    • Profile and accounts
    • No regressions in saving, storing mock data etc

As an Author, I have considered 🤔

  • 👀 Doing a self review

  • ❔ Our contribution guidelines

  • 🤏 Splitting feature into small PRs

  • ➕ Adding a changeset

  • 🧪 Providing/improving test coverage

  • 🔐 Removing all sensitive information from the code and PR description

  • 🚩 Using a feature flag to protect the release

  • 👣 Providing comprehensive reproduction steps

  • 📑 Providing or updating our documentation

  • 🕛 Scheduling a pair reviewing session

  • 📱 Providing mobile support

  • ♿ Providing accessibility support

  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All unit tests are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@abailly-akamai abailly-akamai self-assigned this Nov 26, 2024
@abailly-akamai abailly-akamai changed the title tech-story: [M3-8940] - MSW fixes and improvements tech-story: [M3-8940] - Dev Tools fixes and improvements Nov 26, 2024
@abailly-akamai abailly-akamai marked this pull request as ready for review November 26, 2024 20:03
@abailly-akamai abailly-akamai requested a review from a team as a code owner November 26, 2024 20:03
@abailly-akamai abailly-akamai requested review from coliu-akamai, pmakode-akamai and jaalah-akamai and removed request for a team November 26, 2024 20:03
'VPCs',
] as const;

export type AccountCapability = typeof accountCapabilities[number];
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changes nothing to the types, just allows to export the values

</details>
</ul>
);
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Allowing recursiveness so the JSON flag can be as deep as needed and represented here

Left to do: handle the cases for when a flag is something else than a boolean, which we rarely do


const FieldWrapper = ({ children }: { children: React.ReactNode }) => {
return <div className="dev-tools__modal-form__field">{children}</div>;
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before we were only providing a static factory override. This updates allows much more flexibility for both the response.

Copy link

Coverage Report:
Base Coverage: 86.92%
Current Coverage: 86.92%

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 1 failing test on test run #6 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
1 Failing454 Passing2 Skipped113m 29s

Details

Failing Tests
SpecTest
smoke-billing-activity.spec.tsBilling Activity Feed » displays correct timezone for invoice and payment dates

Troubleshooting

Use this command to re-run the failing tests:

yarn cy:run -s "cypress/e2e/core/billing/smoke-billing-activity.spec.ts"

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