• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

JuliaMathias / moolah / 673e14dea0cb10fabe87e03154a7b3190145fb48
4%

Build:
DEFAULT BRANCH: main
Ran 30 Jan 2026 01:42AM UTC
Jobs 1
Files 116
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Jan 2026 01:32AM UTC coverage: 2.049% (+1.0%) from 1.018%
673e14dea0cb10fabe87e03154a7b3190145fb48

push

github

web-flow
Implement Transaction Wrapper Model and Multi-Currency Support (Issue #16) (#53)

* Implement `UpdateUnderlyingTransfer` module to synchronize transaction updates

Adds the `Moolah.Finance.Changes.UpdateUnderlyingTransfer` module, which defines an Ash Resource Change that ensures low-level `Moolah.Ledger.Transfer` updates correspond with high-level `Transaction` changes. The `change/3` function processes updates only when the `amount` or `date` attributes change, invoking the `update_transfer/1` function to manage the transfer lifecycle. This includes destroying the old transfer and creating a new one, maintaining atomicity to prevent data loss or unbalanced ledgers. The module also introduces helper functions for destroying old transfers and creating new replacement transfers, enhancing the overall transaction management process.

* Add `transactions` table and resource snapshot

Creates the `transactions` table with relevant fields including `id`, `transaction_type`, `amount`, `source_amount`, `description`, `date`, `inserted_at`, `updated_at`, and foreign key references to `ledger_accounts`, `budget_categories`, `life_area_categories`, and `ledger_transfers`.

Also adds a resource snapshot in JSON format to define the attributes and constraints for the `transactions` table, ensuring proper integration with the application.

* Add `destroy` action to `Transfer` resource

Updates the `actions` block in the `Moolah.Ledger.Transfer` module to include the `:destroy` action alongside the existing `:read` action. This change allows for the deletion of transfer records, enhancing the resource's functionality.

* Add `CreateUnderlyingTransfer` module for transaction handling

Creates the `Moolah.Finance.Changes.CreateUnderlyingTransfer` module, which acts as a hook during the `create` decision lifecycle of a `Transaction`. This module translates high-level transaction intents into precise double-entry bookkeeping records for the `Moolah.Ledger` system. It i... (continued)

111 of 126 new or added lines in 4 files covered. (88.1%)

220 of 10737 relevant lines covered (2.05%)

0.31 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
90.32
lib/moolah/finance/validations/currency_match.ex
6
89.66
lib/moolah/finance/changes/create_underlying_transfer.ex
6
81.25
lib/moolah/finance/changes/update_underlying_transfer.ex
Jobs
ID Job ID Ran Files Coverage
1 673e14dea0cb10fabe87e03154a7b3190145fb48.1 30 Jan 2026 01:42AM UTC 116
2.05
GitHub Action Run
Source Files on build 673e14dea0cb10fabe87e03154a7b3190145fb48
  • Tree
  • List 116
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 673e14de on github
  • Prev Build on main (#0E0C4277...)
  • Next Build on main (#E31DE9F3...)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc