Skip to content

FireHubTestCase base abstraction #1

Closed
Closed

Description

@dieselxxx

Affected Version

v0.0.0

Pre-check

  • I have searched existing feature requests and proposals

Problem Statement

Currently, FireHub testing across repositories directly relies on PHPUnit\Framework\TestCase, leading to duplicated setup logic and inconsistent test structure across the ecosystem.

There is no unified abstraction layer that can serve as a stable foundation for FireHub-specific testing rules and future architectural enforcement.

Proposed Feature

Introduce a base testing abstraction:

FireHub\Testing\FireHubTestCase

This class extends PHPUnit’s TestCase and acts as the root testing foundation for the entire FireHub ecosystem.

It will serve as the central point for:

  • shared testing behavior
  • future architecture validation rules
  • consistent test structure across all FireHub packages

Use Case / Motivation

FireHub is a multi-layer ecosystem (Core, Runtime Foundation, Adapters, Capabilities), and requires a consistent testing foundation to ensure:

  • architectural rules are enforced uniformly
  • test structure is reusable across repositories
  • future testing utilities can be added without breaking existing tests
    This abstraction enables FireHub to evolve into a fully governed testing ecosystem rather than fragmented PHPUnit usage per repository.

Proposed API / Design (optional)

namespace FireHub\Testing;

use PHPUnit\Framework\TestCase;

abstract class FireHubTestCase extends TestCase
{
    // Future shared assertions and utilities will be added here
}

Alternatives Considered

  • Direct usage of PHPUnit\Framework\TestCase in each repository
    → rejected due to duplication and lack of standardization
  • Repository-specific base test classes
    → rejected due to fragmentation across FireHub ecosystem

Impact

  • No breaking changes to existing systems
  • Introduces new shared dependency across FireHub testing layer
  • Establishes foundation for future architectural testing enforcement
  • Enables consistent test structure across Core, Runtime, and Adapters

Additional Context

  • ArchitectureAssertions
  • TestBootstrap
  • CoreTestCase
  • IntegrationTestCase
  • CI enforcement rules (PHPStan + PHPUnit integration)

Activity

  1. updated Lifecycle Backlog and Priority High on Jun 24, 2026
  2. moved this from Backlog to No status in 📌 Core Development: v0 → v1on Jun 24, 2026
  3. moved this from Todo to Done in 🚩 Triageon Jun 24, 2026
  4. updated Complexity Simple, Risk Low and Impact Major on Jun 24, 2026
  5. 1 remaining item

  6. updated Start date 2026-06-24, Target date 2026-06-24 and Lifecycle Accepted on Jun 24, 2026
  7. updated Started at 2026-06-24, Effort Trivial and Lifecycle In Progress on Jun 24, 2026
  8. linked a pull request that will close this issueIntroduce FireHubTestCase base abstraction #2on Jun 24, 2026
  9. moved this from Waiting to Working in 📌 Core Development: v0 → v1on Jun 24, 2026
  10. linked a pull request that will close this issueIntroduce FireHubTestCase base abstraction #2on Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Fields

Priority

High

Lifecycle

Completed

Start date

Jun 24, 2026

Started at

Jun 24, 2026

Target date

Jun 24, 2026

Effort

Trivial

Complexity

Simple

Risk

Low

Impact

Major

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions