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

Function TestRecordMatchingRule_Success

database/reconciliation_test.go:529–552  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

527}
528
529func TestRecordMatchingRule_Success(t *testing.T) {
530 db, mock, err := sqlmock.New()
531 assert.NoError(t, err)
532 defer func() { _ = db.Close() }()
533
534 ds := Datasource{Conn: db}
535 ctx := context.TODO()
536
537 rule := &model.MatchingRule{
538 RuleID: "rule1",
539 Name: "Test Rule",
540 Description: "A test matching rule",
541 CreatedAt: time.Now(),
542 UpdatedAt: time.Now(),
543 Criteria: []model.MatchingCriteria{{Field: "amount", Operator: "equals", Value: "100"}},
544 }
545
546 mock.ExpectExec("INSERT INTO ledgerforge.matching_rules").
547 WithArgs(rule.RuleID, sqlmock.AnyArg(), sqlmock.AnyArg(), rule.Name, rule.Description, sqlmock.AnyArg()).
548 WillReturnResult(sqlmock.NewResult(1, 1))
549
550 err = ds.RecordMatchingRule(ctx, rule)
551 assert.NoError(t, err)
552}
553
554func TestRecordMatchingRule_Error(t *testing.T) {
555 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 2

RecordMatchingRuleMethod · 0.95
CloseMethod · 0.45

Tested by

no test coverage detected