(t *testing.T)
| 155 | } |
| 156 | |
| 157 | func 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 | |
| 185 | func TestGetAllLedgers_QueryError(t *testing.T) { |
| 186 | db, mock, err := sqlmock.New() |
nothing calls this directly
no test coverage detected