package paymentconfig import "testing" func TestImportCreateRequestKeepsOneActiveConfigPerPayWay(t *testing.T) { configs := []ConfigDTO{ {Provider: "lakala", MerchantID: "M1", PayWay: "ZFBZF", Status: "active", IsDefault: true}, {Provider: "leshua", MerchantID: "M2", PayWay: "ZFBZF", Status: "active", IsDefault: false}, {Provider: "leshua", MerchantID: "M3", PayWay: "WXZF", Status: "active", IsDefault: true}, } activeKeys := backupActiveKeys(configs) first := importCreateRequest(configs[0], activeKeys) second := importCreateRequest(configs[1], activeKeys) third := importCreateRequest(configs[2], activeKeys) if first.Status != "active" || !first.IsDefault { t.Fatalf("first config status/default = %s/%v, want active/true", first.Status, first.IsDefault) } if second.Status != "disabled" || second.IsDefault { t.Fatalf("second config status/default = %s/%v, want disabled/false", second.Status, second.IsDefault) } if third.Status != "active" || !third.IsDefault { t.Fatalf("third config status/default = %s/%v, want active/true", third.Status, third.IsDefault) } } func TestImportCreateRequestPreservesTestingConfig(t *testing.T) { cfg := ConfigDTO{ Provider: "lakala", MerchantID: "M1", Status: "testing", } req := importCreateRequest(cfg, nil) if req.Status != "testing" || req.IsDefault { t.Fatalf("status/default = %s/%v, want testing/false", req.Status, req.IsDefault) } }