9
9
cltypes "github.com/osmosis-labs/osmosis/v25/x/concentrated-liquidity/types"
10
10
"github.com/osmosis-labs/sqs/domain/mocks"
11
11
orderbookdomain "github.com/osmosis-labs/sqs/domain/orderbook"
12
+ "github.com/osmosis-labs/sqs/orderbook/types"
12
13
orderbookusecase "github.com/osmosis-labs/sqs/orderbook/usecase"
13
14
14
15
"github.com/osmosis-labs/osmosis/osmomath"
@@ -58,15 +59,15 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
58
59
quoteAsset orderbookdomain.Asset
59
60
baseAsset orderbookdomain.Asset
60
61
setupMocks func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock )
61
- expectedError string
62
+ expectedError error
62
63
expectedOrder orderbookdomain.LimitOrder
63
64
}{
64
65
{
65
66
name : "tick not found" ,
66
67
order : orderbookdomain.Order {
67
68
TickId : 99 , // Non-existent tick ID
68
69
},
69
- expectedError : "tick not found" ,
70
+ expectedError : & types. TickForOrderbookNotFoundError {} ,
70
71
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
71
72
orderbookRepo .GetTickByIDFunc = func (poolID uint64 , tickID int64 ) (orderbookdomain.OrderbookTick , bool ) {
72
73
return orderbookdomain.OrderbookTick {}, false
@@ -78,7 +79,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
78
79
order : orderbookdomain.Order {
79
80
Quantity : "invalid" , // Invalid quantity
80
81
},
81
- expectedError : "error parsing quantity" ,
82
+ expectedError : & types. ParsingQuantityError {} ,
82
83
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
83
84
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("6431" , 935 , "ask" )
84
85
},
@@ -91,7 +92,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
91
92
Etas : "500" ,
92
93
ClaimBounty : "10" ,
93
94
},
94
- expectedError : "error parsing quantity" ,
95
+ expectedError : & types. ParsingQuantityError {} ,
95
96
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
96
97
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("500" , 100 , "bid" )
97
98
},
@@ -102,7 +103,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
102
103
Quantity : "1000" ,
103
104
PlacedQuantity : "invalid" , // Invalid placed quantity
104
105
},
105
- expectedError : "error parsing placed quantity" ,
106
+ expectedError : & types. ParsingPlacedQuantityError {} ,
106
107
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
107
108
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("813" , 1331 , "bid" )
108
109
},
@@ -115,7 +116,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
115
116
Etas : "500" ,
116
117
ClaimBounty : "10" ,
117
118
},
118
- expectedError : "error parsing placed quantity" ,
119
+ expectedError : & types. ParsingPlacedQuantityError {} ,
119
120
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
120
121
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("500" , 100 , "bid" )
121
122
},
@@ -126,7 +127,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
126
127
Quantity : "1000" ,
127
128
PlacedQuantity : "0" , // division by zero
128
129
},
129
- expectedError : "placed quantity is 0 or negative" ,
130
+ expectedError : & types. InvalidPlacedQuantityError {} ,
130
131
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
131
132
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("813" , 1331 , "bid" )
132
133
},
@@ -137,7 +138,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
137
138
Quantity : "931" ,
138
139
PlacedQuantity : "183" ,
139
140
},
140
- expectedError : "error getting spot price scaling factor" ,
141
+ expectedError : & types. GettingSpotPriceScalingFactorError {} ,
141
142
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
142
143
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("130" , 13 , "ask" )
143
144
tokensUsecase .GetSpotPriceScalingFactorByDenomFunc = func (baseDenom , quoteDenom string ) (osmomath.Dec , error ) {
@@ -152,7 +153,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
152
153
PlacedQuantity : "131" ,
153
154
OrderDirection : "bid" ,
154
155
},
155
- expectedError : "error parsing bid effective total amount swapped" ,
156
+ expectedError : & types. ParsingTickValuesError {} ,
156
157
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
157
158
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("invalid" , 13 , "bid" )
158
159
},
@@ -164,7 +165,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
164
165
PlacedQuantity : "131" ,
165
166
OrderDirection : "ask" ,
166
167
},
167
- expectedError : "error parsing ask effective total amount swapped" ,
168
+ expectedError : & types. ParsingTickValuesError {} ,
168
169
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
169
170
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("invalid" , 1 , "ask" )
170
171
},
@@ -176,7 +177,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
176
177
PlacedQuantity : "153" ,
177
178
OrderDirection : "bid" ,
178
179
},
179
- expectedError : "error parsing bid unrealized cancels" ,
180
+ expectedError : & types. ParsingUnrealizedCancelsError {} ,
180
181
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
181
182
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("15" , 0 , "bid" )
182
183
},
@@ -188,7 +189,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
188
189
PlacedQuantity : "313" ,
189
190
OrderDirection : "ask" ,
190
191
},
191
- expectedError : "error parsing ask unrealized cancels" ,
192
+ expectedError : & types. ParsingUnrealizedCancelsError {} ,
192
193
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
193
194
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("13" , 0 , "ask" )
194
195
},
@@ -201,7 +202,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
201
202
OrderDirection : "bid" ,
202
203
Etas : "invalid" , // Invalid ETAs
203
204
},
204
- expectedError : "error parsing etas" ,
205
+ expectedError : & types. ParsingEtasError {} ,
205
206
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
206
207
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("386" , 830 , "bid" )
207
208
},
@@ -215,7 +216,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
215
216
Etas : "9223372036854775808" , // overflow value for int64
216
217
ClaimBounty : "10" ,
217
218
},
218
- expectedError : "error parsing etas" ,
219
+ expectedError : & types. ParsingEtasError {} ,
219
220
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
220
221
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("500" , 100 , "bid" )
221
222
},
@@ -229,7 +230,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
229
230
OrderDirection : "ask" ,
230
231
Etas : "100" ,
231
232
},
232
- expectedError : "converting tick to price" ,
233
+ expectedError : & types. ConvertingTickToPriceError {} ,
233
234
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
234
235
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("190" , 150 , "ask" )
235
236
},
@@ -244,7 +245,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
244
245
Etas : "100" ,
245
246
PlacedAt : "invalid" , // Invalid timestamp
246
247
},
247
- expectedError : "error parsing placed_at" ,
248
+ expectedError : & types. ParsingPlacedAtError {} ,
248
249
setupMocks : func (orderbookRepo * mocks.OrderbookRepositoryMock , tokensUsecase * mocks.TokensUsecaseMock ) {
249
250
orderbookRepo .GetTickByIDFunc = getTickByIDFunc ("100" , 100 , "ask" )
250
251
tokensUsecase .GetSpotPriceScalingFactorByDenomFunc = func (baseDenom , quoteDenom string ) (osmomath.Dec , error ) {
@@ -273,7 +274,7 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
273
274
return osmomath .NewDec (1 ), nil
274
275
}
275
276
},
276
- expectedError : "" ,
277
+ expectedError : nil ,
277
278
expectedOrder : orderbookdomain.LimitOrder {
278
279
TickId : 1 ,
279
280
OrderId : 1 ,
@@ -319,9 +320,9 @@ func (s *OrderbookUsecaseTestSuite) TestCreateFormattedLimitOrder() {
319
320
result , err := usecase .CreateFormattedLimitOrder (tc .poolID , tc .order , tc .quoteAsset , tc .baseAsset , "someOrderbookAddress" )
320
321
321
322
// Assert the results
322
- if tc .expectedError != "" {
323
+ if tc .expectedError != nil {
323
324
s .Assert ().Error (err )
324
- s .Assert ().Contains (err . Error () , tc .expectedError )
325
+ s .Assert ().ErrorAs (err , tc .expectedError )
325
326
} else {
326
327
s .Assert ().NoError (err )
327
328
s .Assert ().Equal (tc .expectedOrder , result )
0 commit comments