-
Notifications
You must be signed in to change notification settings - Fork 2
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
Expose onIncompatibleSchemaChange
properties in materialization workflows
#1372
Expose onIncompatibleSchemaChange
properties in materialization workflows
#1372
Conversation
Thanks, confirming that this looks good to me @kiahna-tucker |
src/components/editor/Bindings/OnIncompatibleSchemaChange/SelectorOption.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I struggled with how to name a hook that is for a component... thoughts on keeping the "components are capitalized" rule within the hooks folder?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm... I think that works for now. It may be difficult to live with as components are often subject to being relocated and renamed, but we can play it by ear.
onIncompatibleSchemaChange
field to materialization workflowsonIncompatibleSchemaChange
properties in materialization workflows
src/components/editor/Bindings/OnIncompatibleSchemaChange/Form.tsx
Outdated
Show resolved
Hide resolved
src/components/materialization/OnIncompatibleSchemaChange/Form.tsx
Outdated
Show resolved
Hide resolved
src/hooks/OnIncompatibleSchemaChange/useSpecificationIncompatibleSchemaSetting.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overall last round of changes to code look good
still gonna try to break it as best I can with testing
Issues
The issues directly below are completely resolved by this PR:
#1375
Changes
1375
The following features are included in this PR:
Enable the specification-level
onIncompatibleSchemaChange
property to be configured in materialization workflows. An autocomplete field located in the top-level Backfill section accomplishes this.Create a hook which updates the specification-level
onIncompatibleSchemaChange
property.Extend
BindingState
with anonIncompatibleSchemaChange
property that captures the value of the specification-levelonIncompatibleSchemaChange
property.Create a utility function that updates or removes the specification-level
onIncompatibleSchemaChange
property.Enable the binding-level
onIncompatibleSchemaChange
property to be configured in materialization workflows. An autocomplete field located in the binding-level Backfill section accomplishes this.Rename the hook which updates the binding-level
onIncompatibleSchemaChange
property.Extend
BindingState
with aResourceConfig['meta']['onIncompatibleSchemaChange']
property that captures the value of the binding-levelonIncompatibleSchemaChange
property.Tests
Manually tested
Approaches to testing are as follows:
Validate that the incompatible schema change section does not appear in capture workflows.
Validate that the field initialized properly when editing a materialization that has the specification-level,
onIncompatibleSchemaChange
property set to a supported value.Validate that the drafted specification is updated properly when the field is set to a supported value and cleared.
Automated tests
N/A
Playwright tests ran locally
Screenshots
This field is positioned between the top-level Backfill section and the binding selector.
Spec-level,
onIncompatibleSchemaChange
field | EmptySpec-level,
onIncompatibleSchemaChange
field | Menu optionsSpec-level,
onIncompatibleSchemaChange
field | Option selectedSpec-level,
onIncompatibleSchemaChange
field | Unsupported value detected | StringSpec-level,
onIncompatibleSchemaChange
field | Unsupported value detected | Other