Base engine for MemberJunction's testing framework. Provides metadata caching for test types, tests, suites, rubrics, and shared type definitions. UI-safe -- contains no execution logic.
Architecture
graph TD
subgraph "@memberjunction/testing-engine-base"
A[TestEngineBase] --> B[Test Types Cache]
A --> C[Tests Cache]
A --> D[Test Suites Cache]
A --> E[Test Rubrics Cache]
A --> F[Suite Tests Cache]
G[Types Module] --> H[TestRunOptions]
G --> I[SuiteRunOptions]
G --> J[TestRunResult]
G --> K[TestSuiteRunResult]
G --> L[Variable System Types]
end
subgraph "Data Sources"
M["MJ: Test Types"]
N["MJ: Tests"]
O["MJ: Test Suites"]
P["MJ: Test Rubrics"]
Q["MJ: Test Suite Tests"]
end
M --> B
N --> C
O --> D
P --> E
Q --> F
style A fill:#2d6a9f,stroke:#1a4971,color:#fff
style B fill:#2d8659,stroke:#1a5c3a,color:#fff
style C fill:#2d8659,stroke:#1a5c3a,color:#fff
style D fill:#2d8659,stroke:#1a5c3a,color:#fff
style E fill:#7c5295,stroke:#563a6b,color:#fff
style G fill:#b8762f,stroke:#8a5722,color:#fff
Overview
This package serves two purposes:
Metadata Caching: TestEngineBase is a singleton engine that loads and caches all testing metadata, providing fast lookups by ID, name, type, and tag
Shared Types: Comprehensive type definitions for test execution, results, variables, and configuration used across the entire testing stack
Key capabilities:
Cached access to test types, tests, suites, rubrics, and suite-test associations
Lookup methods by ID, name, type, and tag
Active-only filtering for tests and suites
Suite test sequencing with proper sort order
Complete type system for test execution, results, validation, and variables
Progress and logging callback interfaces for real-time execution updates
Weights for different oracle evaluation dimensions
Relationship to Other Testing Packages
graph LR
A["testing-engine-base (Metadata + Types)"] --> B["testing-engine (Execution)"]
B --> C["testing-cli (CLI Interface)"]
style A fill:#2d6a9f,stroke:#1a4971,color:#fff
style B fill:#2d8659,stroke:#1a5c3a,color:#fff
style C fill:#7c5295,stroke:#563a6b,color:#fff