Skip to content
AI & Agents
Agent

testing-mocking

When mocking calendar services in Cal.diy test files, implement the `Calendar` interface rather than adding individual properties from each specific calendar service type (like `FeishuCalendarService`).

GuideBOOST
From plugin
caldiy
49k95 skills95 agents
Install
$ npx -y skills add calcom/cal.diy --agent claude-code

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

When mocking calendar services in Cal.diy test files, implement the `Calendar` interface rather than adding individual properties from each specific calendar service type (like `FeishuCalendarService`).

Agent definition

testing-mocking.md
title: Mock Implementation Patterns
impact: MEDIUM
impactDescription: Poor mocks cause flaky tests and false positives
tags: testing, mocking, calendar, app-store

Mock Implementation Patterns

Calendar Service Mocks

When mocking calendar services in Cal.diy test files, implement the `Calendar` interface rather than adding individual properties from each specific calendar service type (like `FeishuCalendarService`).

Since all calendar services implement the `Calendar` interface and are stored in a map, the mock service should also implement this interface to ensure type compatibility.

App-Store Integration Mocks

When mocking app-store resources in Cal.diy tests, prefer implementing simpler mock designs that directly implement the required interfaces rather than trying to match complex deep mock structures created with `mockDeep`.

This approach is more maintainable and helps resolve type compatibility issues.

General Guidance

  • For complex mocks that cause type compatibility issues with deep mocks, consider using simpler fake implementations
  • When needed, you can modify other mock files to support your implementation
  • Creative solutions and refactoring to better designs are encouraged when standard mocking causes persistent type errors
Ships withcaldiy

Scheduling infrastructure for absolutely everyone.

Get the whole plugin

Other agents on caldiy.