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

saygoweb / anorm / 18455163264
84%

Build:
DEFAULT BRANCH: master
Ran 13 Oct 2025 04:28AM UTC
Jobs 1
Files 15
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

13 Oct 2025 04:28AM UTC coverage: 98.443% (-1.6%) from 100.0%
18455163264

push

github

web-flow
Implement Mango Query Support for Anorm QueryBuilder (#38)

* Implement Phase 1 of Mango Query support

- Add SqlCondition class for SQL condition representation with parameter binding
- Add MangoQuery class for parsing and validating Mango Query JSON structure
- Add MangoQueryParser class for converting Mango queries to SQL
- Extend QueryBuilder with fromMango() and mango() methods
- Support all core condition operators: $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $exists
- Support all core combination operators: $and, $or, $not
- Support operators with and without $ prefix for GraphQL compatibility
- Implement field mapping from model properties to database columns via DataMapper
- Add comprehensive unit tests (14 tests) and integration tests (12 tests)
- Maintain 100% backward compatibility with existing QueryBuilder API
- All 26 tests passing with 70 assertions

* Implement Phase 2 of Mango Query support - Advanced Operators

- Add regex operator ($regex) using MySQL REGEXP for pattern matching
- Add beginsWith operator ($beginsWith) using LIKE with % wildcard for prefix matching
- Add array operators for JSON fields:
  - $all: Array contains all values using JSON_CONTAINS with AND logic
  - $elemMatch: Array element matching using JSON_EXTRACT for simple conditions
  - $size: Array size matching using JSON_LENGTH
- Add $nor combination operator for logical NOR operations
- Enhance operator normalization with case-insensitive handling
- Add comprehensive error handling and input validation for all new operators
- Support operators with and without $ prefix for GraphQL compatibility
- Add 12 new unit tests covering all Phase 2 operators and error conditions
- Add 4 new integration tests for real database operations
- All 42 tests passing with 109 assertions
- Maintain 100% backward compatibility

* Update phase 3 objectives

* Significantly improve test coverage for Mango Query implementation

- Add comprehensive SqlCondition tests achieving 100% co... (continued)

258 of 267 new or added lines in 4 files covered. (96.63%)

569 of 578 relevant lines covered (98.44%)

19.28 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
96.77
src/MangoQuery.php
8
95.92
src/MangoQueryParser.php
Jobs
ID Job ID Ran Files Coverage
1 18455163264.1 13 Oct 2025 04:28AM UTC 15
98.44
GitHub Action Run
Source Files on build 18455163264
  • Tree
  • List 15
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 859b7dc8 on github
  • Prev Build on master (#18451516832)
  • Next Build on master (#18459577217)
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