Skip to content

Conversation

@ksmuczynski
Copy link
Contributor

Why

This PR addresses the following problem / context:

  • The legacy PublicRelease field exists across multiple tables and controls public exposure of data
  • While the field’s data type and intent are consistent, table-level constraints (nullability and defaults) differ
  • Maintaining separate feature files per table would introduce unnecessary duplication and long-term maintenance risk
  • A single, authoritative specification is needed to document shared behavior while clearly expressing table-specific differences

How

Implementation summary - the following was changed / added / removed:

  • Placed PublicRelease Gherkin tests into one consolidated feature file
  • Used Scenario Outlines as a configuration matrix to cover all tables in a single specification
  • Grouped tables by behavioral constraints (e.g., strict vs nullable vs defaulted) directly in Examples sections
  • Preserved clear separation between:
    • Storage-layer behavior (valid values, nullability, defaults)
    • Business-level behavior (public visibility in reports and web maps)
  • Simplified step phrasing to support generic Behave step reuse across tables

Notes

Any special considerations, workarounds, or follow-up work to note?

  • This PR adds tests only; no application logic or schema changes are included
  • All affected tables are legacy and not expected to gain new fields or business rules
  • The configuration-matrix approach minimizes duplication while keeping behavior explicit and auditable
  • Future tables using the same field can be added by extending the relevant Examples blocks (although this is unlikely given that this is testing a legacy system)

Adds a new Gherkin feature file that defines the legacy PublicRelease field
behavior, including valid bit values, default handling, and rejection of
invalid inputs, along with business-level scenarios for public visibility
in reports and web maps.
Error: Given a site exists where PubliRelease is false
Correction: PublicRelease (missing the 'c').
Refactors PublicRelease Gherkin tests into one consolidated feature using
Scenario Outlines as a configuration matrix to cover all legacy tables.
Captures shared BIT semantics alongside table-specific nullability, default,
and public visibility behavior in a single, maintainable specification.
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