testing-tdd-london-example-1-service-orchestration-test

Sub-skill of testing-tdd-london: Example 1: Service Orchestration Test (+2).

5 stars

Best use case

testing-tdd-london-example-1-service-orchestration-test is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Sub-skill of testing-tdd-london: Example 1: Service Orchestration Test (+2).

Teams using testing-tdd-london-example-1-service-orchestration-test should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/example-1-service-orchestration-test/SKILL.md --create-dirs "https://raw.githubusercontent.com/vamseeachanta/workspace-hub/main/.agents/skills/_archive/development/testing/testing-tdd-london/example-1-service-orchestration-test/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/example-1-service-orchestration-test/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How testing-tdd-london-example-1-service-orchestration-test Compares

Feature / Agenttesting-tdd-london-example-1-service-orchestration-testStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Sub-skill of testing-tdd-london: Example 1: Service Orchestration Test (+2).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Example 1: Service Orchestration Test (+2)

## Example 1: Service Orchestration Test


```typescript
describe('Service Collaboration', () => {
  let mockServiceA: jest.Mocked<ServiceA>;
  let mockServiceB: jest.Mocked<ServiceB>;
  let mockServiceC: jest.Mocked<ServiceC>;
  let orchestrator: ServiceOrchestrator;

  beforeEach(() => {
    mockServiceA = {
      prepare: jest.fn().mockResolvedValue({ data: 'prepared' })
    };
    mockServiceB = {
      process: jest.fn().mockResolvedValue({ result: 'processed' })
    };
    mockServiceC = {
      finalize: jest.fn().mockResolvedValue({ status: 'complete' })
    };

    orchestrator = new ServiceOrchestrator(
      mockServiceA,
      mockServiceB,
      mockServiceC
    );
  });

  it('should coordinate dependencies in correct order', async () => {
    await orchestrator.execute(task);

    // Verify coordination sequence
    expect(mockServiceA.prepare).toHaveBeenCalledBefore(mockServiceB.process);
    expect(mockServiceB.process).toHaveBeenCalledBefore(mockServiceC.finalize);

    // Verify data flow between services
    expect(mockServiceB.process).toHaveBeenCalledWith(
      expect.objectContaining({ data: 'prepared' })
    );
    expect(mockServiceC.finalize).toHaveBeenCalledWith(
      expect.objectContaining({ result: 'processed' })
    );
  });
});
```


## Example 2: Error Handling Verification


```typescript
describe('Error Handling', () => {
  it('should handle repository failure gracefully', async () => {
    const mockRepository = {
      save: jest.fn().mockRejectedValue(new Error('Connection failed'))
    };
    const mockLogger = {
      error: jest.fn()
    };
    const mockRetry = {
      attempt: jest.fn().mockResolvedValue(false)
    };

    const service = new UserService(mockRepository, mockLogger, mockRetry);

    await expect(service.register(userData)).rejects.toThrow('Registration failed');

    // Verify error handling interactions
    expect(mockLogger.error).toHaveBeenCalledWith(
      'Repository save failed',
      expect.objectContaining({ error: expect.any(Error) })
    );
    expect(mockRetry.attempt).toHaveBeenCalledTimes(3);
  });
});
```


## Example 3: Swarm Coordination Testing


```typescript
describe('Swarm Test Coordination', () => {
  let swarmCoordinator: SwarmCoordinator;

  beforeAll(async () => {
    // Signal other swarm agents
    await swarmCoordinator.notifyTestStart('unit-tests');
  });

  afterAll(async () => {
    // Share test results with swarm
    await swarmCoordinator.shareResults(testResults);
  });

  it('should share mock contracts across swarm', () => {
    const sharedMocks = {
      userRepository: createSwarmMock('UserRepository', {
        save: jest.fn(),
        findByEmail: jest.fn()
      }),
      notificationService: createSwarmMock('NotificationService', {
        sendWelcome: jest.fn()
      })
    };

    // Other swarm agents can verify against these contracts
    swarmCoordinator.publishContracts(sharedMocks);
  });
});
```

Related Skills

test-oversized-skill

5
from vamseeachanta/workspace-hub

A test fixture skill that exceeds 200 lines with multiple H2/H3 sections for split testing.

digitalmodel-worktree-test-execution-with-shared-venv

5
from vamseeachanta/workspace-hub

Run digitalmodel tests from isolated worktrees without uv editable-dependency failures by using the main repo's existing virtualenv and PYTHONPATH.

blender-worktree-test-hardening

5
from vamseeachanta/workspace-hub

Recover and harden digitalmodel Blender automation work in isolated worktrees when uv/editable dependency paths break and local machines lack a Blender executable.

work-around-merge-conflicts-in-test-execution

5
from vamseeachanta/workspace-hub

Run tests when repo has unresolved merge conflicts in config files by bypassing broken configs and executing tests directly

test-driven-hook-debugging

5
from vamseeachanta/workspace-hub

Debugging and fixing shell hooks by writing isolated test suites first, then using test failures to pinpoint logic bugs

multi-file-tax-prep-orchestration

5
from vamseeachanta/workspace-hub

Structured approach to complex multi-file tax return preparation with traceability and planning

preserved-plan-refile-with-attested-review-wave

5
from vamseeachanta/workspace-hub

Reopen a previously closed GitHub issue with a preserved local plan, rewrite it into a conservative draft, and drive iterative attested adversarial review waves until it is truly approval-ready.

dummy-backfill-test

5
from vamseeachanta/workspace-hub

Temporary validation skill used to test skill backfill and commit flows.

test-driven-development

5
from vamseeachanta/workspace-hub

Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.

skeleton-test-coverage-uplift

5
from vamseeachanta/workspace-hub

Write test suites for SKELETON packages (zero test coverage) to uplift them to DEVELOPMENT maturity. Handles non-importable modules, optional dependencies, separate sub-repos, and Flask/web packages without runtime.

background-service-manager

5
from vamseeachanta/workspace-hub

Create and manage long-running background processes with start/stop/status controls, logging, and monitoring. Use for batch processing jobs, data pipelines, continuous services, or any long-running tasks.

fitness-for-service

5
from vamseeachanta/workspace-hub

Expert FFS engineer applying API 579-1/ASME FFS-1 methodology to corroded and damaged offshore equipment. Use for RSF calculations, MAWP re-rating, remaining life projection, UT grid inspection data, run-repair-replace decisions, and Level 1/2/3 assessment workflows. type: reference