Problem
core/payment's own unit tests hardcode a real downstream consumer's gateway name — \"govpay\" — as the fixture gatewayID throughout payment/service_test.go (~25 occurrences) and payment/handler_test.go (4 occurrences), and \"lankapay\" in a couple of places in payment/registry_test.go. Predates #118 (confirmed via git show against a commit before that PR's branch point), though #118 added a few more occurrences following the existing convention.
core/payment is a generic, gateway-agnostic SDK — its own README describes it as "designed to be imported and integrated into other repositories," with GovPay+/LankaPay named only as examples of gateways a consumer might wire up, not anything baked into the framework itself. Hardcoding a specific real downstream integration's name into the framework's own generic unit tests:
- Couples tests that are actually exercising generic
PaymentGateway/PaymentService/HTTPHandler mechanics to an integration that doesn't even live in this repo (GovPay+ lives in nsw-srilanka).
- Reads as if there's GovPay+-specific behavior being tested here, when there isn't — the tests would behave identically with any gateway ID.
- Is already inconsistent within the package:
registry_test.go uses clearly-generic placeholder IDs (gw1, method1, method2) in most of its tests, but real names (lankapay) in a couple of others.
Proposed Solution
Standardize on the generic-placeholder convention registry_test.go already partially establishes (e.g. gw1) across service_test.go and handler_test.go, replacing the govpay/lankapay fixture IDs. Mechanical rename, no behavior change — tests pass identically regardless of the string used as the gateway ID.
Scope note
Deliberately not bundled into #118 (which is otherwise unrelated in scope) — flagged there during review and split out as its own follow-up per that PR's discussion.
Problem
core/payment's own unit tests hardcode a real downstream consumer's gateway name —\"govpay\"— as the fixturegatewayIDthroughoutpayment/service_test.go(~25 occurrences) andpayment/handler_test.go(4 occurrences), and\"lankapay\"in a couple of places inpayment/registry_test.go. Predates#118(confirmed viagit showagainst a commit before that PR's branch point), though#118added a few more occurrences following the existing convention.core/paymentis a generic, gateway-agnostic SDK — its own README describes it as "designed to be imported and integrated into other repositories," with GovPay+/LankaPay named only as examples of gateways a consumer might wire up, not anything baked into the framework itself. Hardcoding a specific real downstream integration's name into the framework's own generic unit tests:PaymentGateway/PaymentService/HTTPHandlermechanics to an integration that doesn't even live in this repo (GovPay+ lives innsw-srilanka).registry_test.gouses clearly-generic placeholder IDs (gw1,method1,method2) in most of its tests, but real names (lankapay) in a couple of others.Proposed Solution
Standardize on the generic-placeholder convention
registry_test.goalready partially establishes (e.g.gw1) acrossservice_test.goandhandler_test.go, replacing thegovpay/lankapayfixture IDs. Mechanical rename, no behavior change — tests pass identically regardless of the string used as the gateway ID.Scope note
Deliberately not bundled into
#118(which is otherwise unrelated in scope) — flagged there during review and split out as its own follow-up per that PR's discussion.