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

Function TestCreateLedger_Success

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

Source from the content-addressed store, hash-verified

31)
32
33func TestCreateLedger_Success(t *testing.T) {
34 db, mock, err := sqlmock.New()
35 assert.NoError(t, err)
36 defer func() { _ = db.Close() }()
37
38 ds := Datasource{Conn: db}
39
40 ledger := model.Ledger{
41 Name: "Test Ledger",
42 MetaData: map[string]interface{}{
43 "key": "value",
44 },
45 }
46
47 metaDataJSON, err := json.Marshal(ledger.MetaData)
48 assert.NoError(t, err)
49
50 mock.ExpectExec("INSERT INTO ledgerforge.ledgers").
51 WithArgs(metaDataJSON, ledger.Name, sqlmock.AnyArg()).
52 WillReturnResult(sqlmock.NewResult(1, 1))
53
54 createdLedger, err := ds.CreateLedger(ledger)
55 assert.NoError(t, err)
56 assert.NotEmpty(t, createdLedger.LedgerID)
57 assert.WithinDuration(t, time.Now(), createdLedger.CreatedAt, time.Second)
58}
59
60func TestCreateLedger_UniqueViolation(t *testing.T) {
61 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 2

CreateLedgerMethod · 0.95
CloseMethod · 0.45

Tested by

no test coverage detected