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

Function TestCreateLedger

ledger_test.go:69–100  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

67}
68
69func TestCreateLedger(t *testing.T) {
70 datasource, mock, err := newTestDataSource()
71 if err != nil {
72 t.Fatalf("Error creating test data source: %s", err)
73 }
74
75 d, err := NewLedgerForge(datasource)
76 if err != nil {
77 t.Fatalf("Error creating LedgerForge instance: %s", err)
78 }
79
80 ledger := model.Ledger{Name: "Test Ledger", MetaData: map[string]interface{}{"key": "value"}}
81 metaDataJSON, _ := json.Marshal(ledger.MetaData)
82
83 // Set expectations on mock
84 mock.ExpectExec("INSERT INTO ledgerforge.ledgers").
85 WithArgs(metaDataJSON, ledger.Name, sqlmock.AnyArg()).
86 WillReturnResult(sqlmock.NewResult(1, 1))
87
88 // Execute the test function
89 result, err := d.CreateLedger(ledger)
90 // Assertions
91 assert.NoError(t, err)
92 assert.NotEmpty(t, result.LedgerID)
93 assert.WithinDuration(t, time.Now(), result.CreatedAt, time.Second)
94 assert.Contains(t, result.LedgerID, "ldg_")
95
96 // Check if all expectations were met
97 if err := mock.ExpectationsWereMet(); err != nil {
98 t.Errorf("there were unfulfilled expectations: %s", err)
99 }
100}
101
102func TestGetAllLedgers(t *testing.T) {
103 datasource, mock, err := newTestDataSource()

Callers

nothing calls this directly

Calls 3

CreateLedgerMethod · 0.95
newTestDataSourceFunction · 0.85
NewLedgerForgeFunction · 0.85

Tested by

no test coverage detected