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

Function TestUpdateLedger_Success

database/ledger_test.go:259–286  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

257}
258
259func TestUpdateLedger_Success(t *testing.T) {
260 db, mock, err := sqlmock.New()
261 assert.NoError(t, err)
262 defer func() { _ = db.Close() }()
263
264 ds := Datasource{Conn: db}
265
266 metaData := map[string]interface{}{"key": "value"}
267 metaDataJSON, err := json.Marshal(metaData)
268 assert.NoError(t, err)
269
270 mock.ExpectQuery("SELECT ledger_id, name, created_at, meta_data FROM ledgerforge.ledgers WHERE ledger_id = ?").
271 WithArgs("ldg1").
272 WillReturnRows(sqlmock.NewRows([]string{"ledger_id", "name", "created_at", "meta_data"}).
273 AddRow("ldg1", "Old Name", time.Now(), metaDataJSON))
274
275 mock.ExpectExec("UPDATE ledgerforge.ledgers SET name").
276 WithArgs("New Name", "ldg1").
277 WillReturnResult(sqlmock.NewResult(0, 1))
278
279 ledger, err := ds.UpdateLedger("ldg1", "New Name")
280 assert.NoError(t, err)
281 assert.Equal(t, "New Name", ledger.Name)
282 assert.Equal(t, "ldg1", ledger.LedgerID)
283
284 err = mock.ExpectationsWereMet()
285 assert.NoError(t, err)
286}
287
288func TestUpdateLedger_NotFound(t *testing.T) {
289 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 2

UpdateLedgerMethod · 0.95
CloseMethod · 0.45

Tested by

no test coverage detected