mirror of
https://github.com/whekin/household-bot.git
synced 2026-04-01 07:14:02 +00:00
feat(payments): track household payment confirmations
This commit is contained in:
36
packages/application/src/payment-confirmation-parser.test.ts
Normal file
36
packages/application/src/payment-confirmation-parser.test.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { describe, expect, test } from 'bun:test'
|
||||
|
||||
import { parsePaymentConfirmationMessage } from './payment-confirmation-parser'
|
||||
|
||||
describe('parsePaymentConfirmationMessage', () => {
|
||||
test('detects rent confirmation without explicit amount', () => {
|
||||
const result = parsePaymentConfirmationMessage('за жилье закинул', 'GEL')
|
||||
|
||||
expect(result.kind).toBe('rent')
|
||||
expect(result.explicitAmount).toBeNull()
|
||||
expect(result.reviewReason).toBeNull()
|
||||
})
|
||||
|
||||
test('detects utility confirmation with explicit default-currency amount', () => {
|
||||
const result = parsePaymentConfirmationMessage('оплатил газ 120', 'GEL')
|
||||
|
||||
expect(result.kind).toBe('utilities')
|
||||
expect(result.explicitAmount?.amountMinor).toBe(12000n)
|
||||
expect(result.explicitAmount?.currency).toBe('GEL')
|
||||
expect(result.reviewReason).toBeNull()
|
||||
})
|
||||
|
||||
test('keeps multi-member confirmations for review', () => {
|
||||
const result = parsePaymentConfirmationMessage('перевел за Кирилла и себя', 'GEL')
|
||||
|
||||
expect(result.kind).toBeNull()
|
||||
expect(result.reviewReason).toBe('multiple_members')
|
||||
})
|
||||
|
||||
test('keeps generic done messages for review', () => {
|
||||
const result = parsePaymentConfirmationMessage('готово', 'GEL')
|
||||
|
||||
expect(result.kind).toBeNull()
|
||||
expect(result.reviewReason).toBe('kind_ambiguous')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user