Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 66 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@
</h1>

<p>
<a href="https://github.com/The-FireHub-Project/Testing/commits/develop/">
<a href="https://github.com/The-FireHub-Project/Testing/commits/feature/phpunit-integration-and-initial-tests/">
<img
src="https://img.shields.io/github/last-commit/The-FireHub-Project/Testing/develop?style=flat&logo=github&logoColor=959da5&label=last%20commit%20(branch)&labelColor=31373e"
src="https://img.shields.io/github/last-commit/The-FireHub-Project/Testing/feature/phpunit-integration-and-initial-tests?style=flat&logo=github&logoColor=959da5&label=last%20commit%20(branch)&labelColor=31373e"
alt="GitHub last commit (branch)"
/></a>
<a href="https://github.com/The-FireHub-Project/Testing/commits/develop/">
<a href="https://github.com/The-FireHub-Project/Testing/commits/feature/phpunit-integration-and-initial-tests/">
<img
src="https://img.shields.io/github/commit-activity/m/The-FireHub-Project/Testing/develop?style=flat&logo=github&logoColor=959da5&label=commit%20activity%20(branch)&labelColor=31373e"
src="https://img.shields.io/github/commit-activity/m/The-FireHub-Project/Testing/feature/phpunit-integration-and-initial-tests?style=flat&logo=github&logoColor=959da5&label=commit%20activity%20(branch)&labelColor=31373e"
alt="GitHub activity (branch)"
/></a>
<a href="https://github.com/The-FireHub-Project/Testing/compare/master...develop/">
<a href="https://github.com/The-FireHub-Project/Testing/compare/develop...feature/phpunit-integration-and-initial-tests/">
<img
src="https://img.shields.io/github/commits-difference/The-FireHub-Project/Testing?base=master&head=develop&style=flat&logo=github&logoColor=959da5&label=ahead%20master&labelColor=31373e"
src="https://img.shields.io/github/commits-difference/The-FireHub-Project/Testing?base=develop&head=feature/phpunit-integration-and-initial-tests&style=flat&logo=github&logoColor=959da5&label=ahead%20develop&labelColor=31373e"
alt="GitHub commit difference between two branches"
/></a>
</p>
Expand All @@ -55,47 +55,81 @@ This layer is designed to ensure that FireHub architectural rules are continuous

---

## <img src="https://raw.githubusercontent.com/The-FireHub-Project/the-firehub-project.github.io/master/resources/graphics/icons/firehub.svg" width="15" alt="FireHub Icon"> Development Branch
## <img src="https://raw.githubusercontent.com/The-FireHub-Project/the-firehub-project.github.io/master/resources/graphics/icons/firehub.svg" width="15" alt="FireHub Icon"> Testcase Base – Development Branch

⚠️ **This is the `develop` branch**
⚠️ **This is the `development` branch**

- Unstable
- APIs may change without notice
- Not intended for production use

### Related

- Target Release: **v0.0.0**
- Repository: FireHub Testing Toolkit

### Pull request

<p>
<a href="https://github.com/The-FireHub-Project/Testing/pull/2/">
<img
src="https://img.shields.io/github/pulls/detail/title/The-FireHub-Project/Testing/2?style=flat&logo=github&logoColor=959da5&label=title&labelColor=31373e"
alt="GitHub pull request title"
/></a>
<a href="https://github.com/The-FireHub-Project/Testing/pull/2/">
<img
src="https://img.shields.io/github/pulls/detail/author/The-FireHub-Project/Testing/2?style=flat&logo=github&logoColor=959da5&labelColor=31373e"
alt="GitHub pull request author"
/></a>
<a href="https://github.com/The-FireHub-Project/Testing/pull/2/">
<img
src="https://img.shields.io/github/pulls/detail/age/The-FireHub-Project/Testing/2?style=flat&logo=github&logoColor=959da5&labelColor=31373e"
alt="GitHub pull request created"
/></a>
<a href="https://github.com/The-FireHub-Project/Testing/pull/2/">
<img
src="https://img.shields.io/github/pulls/detail/comments/The-FireHub-Project/Testing/2?style=flat&logo=github&logoColor=959da5&labelColor=31373e"
alt="GitHub pull request comments"
/></a>
</p>

## <img src="https://raw.githubusercontent.com/The-FireHub-Project/the-firehub-project.github.io/master/resources/graphics/icons/firehub.svg" width="15" alt="FireHub Icon"> Branch Purpose

The `develop` branch is the **primary integration branch** for all ongoing development.
This branch introduces the **base testing abstraction (`FireHubTestCase`)** for the FireHub ecosystem.

It establishes a unified foundation for all test suites across:

- Core Standard
- Core Professional
- Core Enterprise
- Runtime Foundation (consumers only)
- Future FireHub testing extensions

The goal is to remove direct coupling to `PHPUnit\Framework\TestCase` in application-level tests and introduce a **shared FireHub testing entry point**.

## <img src="https://raw.githubusercontent.com/The-FireHub-Project/the-firehub-project.github.io/master/resources/graphics/icons/firehub.svg" width="15" alt="FireHub Icon"> Architectural Goal

It serves as the staging area where:
- Feature branches are merged
- Bug fixes are integrated
- Experimental work is stabilized
- Code is prepared for upcoming releases
Introduce a **standardized testing root layer** that:

All **release branches** are created **from `develop`**.
- Provides a single inheritance point for all FireHub tests
- Decouples ecosystem tests from direct PHPUnit dependency usage
- Enables future extension of testing behavior (assertions, bootstrapping, validation rules)
- Serves as the foundation for a structured testing hierarchy (CoreTestCase, IntegrationTestCase, ArchitectureTestCase)

## Stability Guarantee
This ensures testing evolves as a **governed architectural layer**, not a collection of isolated test implementations.

❌ No backward compatibility guarantee
❌ APIs may change without notice
❌ Behavior may be incomplete or inconsistent
❌ Breaking changes are expected
## <img src="https://raw.githubusercontent.com/The-FireHub-Project/the-firehub-project.github.io/master/resources/graphics/icons/firehub.svg" width="15" alt="FireHub Icon"> Core Concept

This branch is intended **only for contributors and advanced testers**.
A FireHub test case is:

## <img src="https://raw.githubusercontent.com/The-FireHub-Project/the-firehub-project.github.io/master/resources/graphics/icons/firehub.svg" width="15" alt="FireHub Icon"> Composer Usage (Not Recommended)
> A standardized, extensible abstraction over PHPUnit that acts as the root entry point for all FireHub testing logic.

For internal testing only:
It is designed to:

```json
{
"require": {
"the-firehub-project/testing": "dev-develop"
}
}
```
⚠️ Never use dev-develop in production.
- unify test structure across repositories
- enable architectural enforcement through tests
- provide a stable base for future testing capabilities
- ensure consistency in how FireHub systems are validated

## <img src="https://raw.githubusercontent.com/The-FireHub-Project/the-firehub-project.github.io/master/resources/graphics/icons/firehub.svg" width="15" alt="FireHub Icon"> Authors and Contributors

Expand All @@ -110,6 +144,6 @@ Architecture guidelines, design principles, and ecosystem documentation are avai

## <img src="https://raw.githubusercontent.com/The-FireHub-Project/the-firehub-project.github.io/master/resources/graphics/icons/firehub.svg" width="15" alt="FireHub Icon"> License

This software is licensed under the MIT License.
This software is licensed under the Apache-2.0 License.

For more details, read the full license [here](./LICENSE).
5 changes: 5 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
"phpunit/phpunit": "^13.0"
},
"minimum-stability": "stable",
"autoload": {
"psr-4": {
"FireHub\\Testing\\": "src"
}
},
"authors": [
{
"name": "Danijel Galić",
Expand Down
30 changes: 30 additions & 0 deletions src/FireHubTestCase.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php declare(strict_types = 1);

/**
* This file is part of the FireHub Project ecosystem
*
* @author Danijel Galić <danijel.galic@outlook.com>
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/MIT MIT License
*
* @php-version >=7.0
* @package Testing
*/

namespace FireHub\Testing;

use PHPUnit\Framework\TestCase;

/**
* ### FireHub Test Case
*
* Base testing abstraction for the FireHub ecosystem built on top of PHPUnit.
*
* This class provides a unified foundation for all FireHub test suites and ensures consistent structure,
* extensibility, and future support for shared testing utilities across Core, Runtime, and ecosystem packages.
*
* It is not intended to contain business logic but to serve as the root entry point for all FireHub-specific testing
* behavior.
* @since 1.0.0
*/
abstract class FireHubTestCase extends TestCase {}