MCPcopy Create free account
hub / github.com/devaccuracy/ledgerforge / TestGetBalanceMonitor

Function TestGetBalanceMonitor

api/balance_api_test.go:261–309  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

259}
260
261func TestGetBalanceMonitor(t *testing.T) {
262 router, b, err := setupRouter(t)
263 if err != nil {
264 t.Fatalf("Failed to setup router: %v", err)
265 }
266
267 newLedger, err := b.CreateLedger(model.Ledger{Name: gofakeit.Name()})
268 if err != nil {
269 t.Fatalf("Failed to create ledger: %v", err)
270 }
271
272 newBalance, err := b.CreateBalance(context.Background(), model.Balance{
273 LedgerID: newLedger.LedgerID,
274 Currency: gofakeit.CurrencyShort(),
275 })
276 if err != nil {
277 t.Fatalf("Failed to create balance: %v", err)
278 }
279
280 newMonitor, err := b.CreateMonitor(context.Background(), model.BalanceMonitor{
281 BalanceID: newBalance.BalanceID,
282 Condition: model.AlertCondition{
283 Field: "balance",
284 Operator: ">",
285 Value: 1000,
286 },
287 })
288 if err != nil {
289 t.Fatalf("Failed to create monitor: %v", err)
290 }
291
292 var response model.BalanceMonitor
293 testRequest := TestRequest{
294 Payload: nil,
295 Response: &response,
296 Method: "GET",
297 Route: fmt.Sprintf("/balance-monitors/%s", newMonitor.MonitorID),
298 Auth: "",
299 Router: router,
300 }
301
302 resp, err := SetUpTestRequest(testRequest)
303 if err != nil {
304 t.Error(err)
305 return
306 }
307 assert.Equal(t, http.StatusOK, resp.Code)
308 assert.Equal(t, newMonitor.MonitorID, response.MonitorID)
309}
310
311func TestGetAllBalanceMonitors(t *testing.T) {
312 router, b, err := setupRouter(t)

Callers

nothing calls this directly

Calls 6

setupRouterFunction · 0.85
SetUpTestRequestFunction · 0.85
CreateLedgerMethod · 0.65
CreateBalanceMethod · 0.65
CreateMonitorMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected