{"ref":"artifact:wozjac-abap-sencha","page":"/artifacts/wozjac-abap-sencha","json":"/artifacts/wozjac-abap-sencha.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"wozjac-abap-sencha","name":"abap-sencha","artifact_type":"package","ecosystem":"abap","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"A BDD/TDD assertion library for ABAP Unit, styled after the JavaScript library Chai.js, that wraps cl_abap_unit_assert in chainable expect, should and assert styles.","short":"BDD/TDD assertion library for ABAP Unit, styled after Chai.js","what_it_solves":"ABAP Unit's `cl_abap_unit_assert` methods read as a class name and a parameter list rather than a sentence, which chai.js-style assertions in other languages avoid. ABAP Sencha wraps the same ABAP Unit framework in three chainable styles, `expect`, `should` and `assert`, built from language-chain words like `is`, `to` and `has`, plus helpers such as `given`, `when` and `then` for describing a test in its own words. Beside the wrappers over `cl_abap_unit_assert` it adds chai-inspired checks such as `length_of` and `one_of`, and wrappers for `cl_abap_testdouble` mocking calls. A test class reaches all of it by inheriting from `ZCL_ABAP_SENCHA`, and it runs on top of `cl_abap_unit_assert` rather than replacing it, so the underlying framework's tooling and IDE support still apply. For tests described fully in natural language the maintainer points to [Cacamber](artifact:dominikpanzer-cacamber-bdd-for-abap) instead."},"links":{"repo":"https://github.com/wozjac/abap-sencha","docs":"https://wozjac.github.io/abap-sencha/"},"identity":{"license":"MIT"},"source_available":true,"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/wozjac/abap-sencha","title":"wozjac/abap-sencha — README, Usage","checked":"2026-10-19","quote":"Inherit your test class from ZCL_ABAP_SENCHA to gain access to all the methods and chaining words."}]}},"provides":[{"capability":"capability:abap-unit-testing","what_it_does":"Adds chainable `expect`, `should` and `assert` styles of writing assertions on top of ABAP Unit's own `cl_abap_unit_assert` methods, plus wrappers for `cl_abap_testdouble` test doubles.","sources":[{"url":"https://github.com/wozjac/abap-sencha","title":"wozjac/abap-sencha — README","checked":"2026-09-14","quote":"The goal of ABAP Sencha is to provide similar functionality in ABAP on top of the existing ABAP Unit framework"}]}],"alternative_to":["artifact:dominikpanzer-cacamber-bdd-for-abap","artifact:abapify-assert"],"maintainers":["actor:wozjac"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:wozjac"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"fair","evidence":"pushed 2025-06, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":"SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"workflows present, no completed run on the default branch"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"docs/ with 1 page, docs site, README 10 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":3,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":3,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2025-06-12","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2023-10-19T21:04:14Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":1,"other_ci":false,"readme_bytes":9833,"docs_files":1,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2023-10-19","last_commit":"2025-06-12","commits":54,"contributors":1,"readme_path":"README.md","readme_sha":"1dd11cc47b8e16eae89708e55042a9029fa8efb7","repo_read":"2026-10-25","abap_syntax":{"repo":"wozjac/abap-sencha","file":"abaplint.json","url":"https://github.com/wozjac/abap-sencha/blob/HEAD/abaplint.json","version":"v740sp08","floor":"740","checked":"2026-10-26"}},"edges":{"maintainers":[{"ref":"actor:wozjac","name":"Jacek Wozniczak","json":"/actors/wozjac.json"}],"contributors":[{"ref":"actor:wozjac","name":"Jacek Wozniczak","json":"/actors/wozjac.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}