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

Function TestCreateLedger_QueryError

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

Source from the content-addressed store, hash-verified

155}
156
157func TestCreateLedger_QueryError(t *testing.T) {
158 db, mock, err := sqlmock.New()
159 assert.NoError(t, err)
160 defer func() { _ = db.Close() }()
161
162 ds := Datasource{Conn: db}
163
164 ledger := model.Ledger{
165 Name: "Test Ledger",
166 MetaData: map[string]interface{}{
167 "key": "value",
168 },
169 }
170
171 metaDataJSON, err := json.Marshal(ledger.MetaData)
172 assert.NoError(t, err)
173
174 mock.ExpectExec("INSERT INTO ledgerforge.ledgers").
175 WithArgs(metaDataJSON, ledger.Name, sqlmock.AnyArg()).
176 WillReturnError(&pq.Error{Code: "42P01", Message: "relation does not exist"})
177
178 _, err = ds.CreateLedger(ledger)
179 assert.Error(t, err)
180 apiErr, ok := err.(apierror.APIError)
181 assert.True(t, ok)
182 assert.Equal(t, apierror.ErrInternalServer, apiErr.Code)
183}
184
185func TestGetAllLedgers_QueryError(t *testing.T) {
186 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 3

CreateLedgerMethod · 0.95
CloseMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected