Skip to content

Commit 2a92f27

Browse files
committed
chore: review comments
1 parent d4a411a commit 2a92f27

4 files changed

Lines changed: 55 additions & 1 deletion

File tree

api/v3/handlers/customers/credits/feature_filter_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,36 @@ func TestFromAPICustomerCreditFeatureFilter(t *testing.T) {
5353
filter: &api.StringFieldFilter{Contains: lo.ToPtr("feature")},
5454
wantErr: true,
5555
},
56+
{
57+
name: "neq is rejected",
58+
filter: &api.StringFieldFilter{Neq: lo.ToPtr("feature-a")},
59+
wantErr: true,
60+
},
61+
{
62+
name: "ocontains is rejected",
63+
filter: &api.StringFieldFilter{Ocontains: []string{"feature"}},
64+
wantErr: true,
65+
},
66+
{
67+
name: "gt is rejected",
68+
filter: &api.StringFieldFilter{Gt: lo.ToPtr("feature-a")},
69+
wantErr: true,
70+
},
71+
{
72+
name: "gte is rejected",
73+
filter: &api.StringFieldFilter{Gte: lo.ToPtr("feature-a")},
74+
wantErr: true,
75+
},
76+
{
77+
name: "lt is rejected",
78+
filter: &api.StringFieldFilter{Lt: lo.ToPtr("feature-a")},
79+
wantErr: true,
80+
},
81+
{
82+
name: "lte is rejected",
83+
filter: &api.StringFieldFilter{Lte: lo.ToPtr("feature-a")},
84+
wantErr: true,
85+
},
5686
{
5787
name: "empty feature is rejected",
5888
filter: &api.StringFieldFilter{Eq: lo.ToPtr("")},

openmeter/billing/charges/creditpurchase/adapter/funded_credit_activity.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ func fundedCreditActivityFeatureFilterPredicate(filter mo.Option[creditpurchase.
143143
return dbchargecreditpurchase.FeatureFiltersIsNil()
144144
}
145145
features = features.Normalize()
146+
if len(features) == 0 {
147+
return nil
148+
}
146149

147150
return dbchargecreditpurchase.Or(
148151
dbchargecreditpurchase.FeatureFiltersIsNil(),

openmeter/ledger/breakage/adapter/record_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,19 @@ func TestAdapter_ListExpiredRecordsFiltersByRoute(t *testing.T) {
8585
require.ElementsMatch(t, tt.want, recordNames(got))
8686
})
8787
}
88+
89+
t.Run("feature match route with input currency", func(t *testing.T) {
90+
got, err := a.ListExpiredRecords(t.Context(), breakage.ListExpiredRecordsInput{
91+
CustomerID: env.CustomerID,
92+
Currency: &env.Currency,
93+
AsOf: asOf,
94+
Route: ledger.RouteFilter{
95+
MatchFeature: "feature-a",
96+
},
97+
})
98+
require.NoError(t, err)
99+
require.ElementsMatch(t, []string{"unrestricted", "feature-a", "feature-a-b"}, recordNames(got))
100+
})
88101
}
89102

90103
func newExpiredRecord(

openmeter/ledger/customerbalance/service_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,14 @@ func TestGetBalanceServiceInputValidate(t *testing.T) {
3333
FeatureFilter: AllFeatureFilter(),
3434
}
3535
now := clock.Now()
36+
validCursor := ledger.TransactionCursor{
37+
BookedAt: now,
38+
CreatedAt: now,
39+
ID: models.NamespacedID{
40+
Namespace: "ns",
41+
ID: "transaction-id",
42+
},
43+
}
3644

3745
tests := []struct {
3846
name string
@@ -89,7 +97,7 @@ func TestGetBalanceServiceInputValidate(t *testing.T) {
8997
CustomerID: valid.CustomerID,
9098
Currency: valid.Currency,
9199
BalanceQuery: ledger.BalanceQuery{
92-
After: &ledger.TransactionCursor{},
100+
After: &validCursor,
93101
AsOf: &now,
94102
},
95103
},

0 commit comments

Comments
 (0)