npx skills add https://github.com/github/awesome-copilot --skill javascript-typescript-jestHow Javascript Typescript Jest fits into a Paperclip company.
Javascript Typescript Jest drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.
Pre-configured AI company — 18 agents, 18 skills, one-time purchase.
SKILL.md44 linesExpandCollapse
---name: javascript-typescript-jestdescription: 'Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns.'--- ### Test Structure- Name test files with `.test.ts` or `.test.js` suffix- Place test files next to the code they test or in a dedicated `__tests__` directory- Use descriptive test names that explain the expected behavior- Use nested describe blocks to organize related tests- Follow the pattern: `describe('Component/Function/Class', () => { it('should do something', () => {}) })` ### Effective Mocking- Mock external dependencies (APIs, databases, etc.) to isolate your tests- Use `jest.mock()` for module-level mocks- Use `jest.spyOn()` for specific function mocks- Use `mockImplementation()` or `mockReturnValue()` to define mock behavior- Reset mocks between tests with `jest.resetAllMocks()` in `afterEach` ### Testing Async Code- Always return promises or use async/await syntax in tests- Use `resolves`/`rejects` matchers for promises- Set appropriate timeouts for slow tests with `jest.setTimeout()` ### Snapshot Testing- Use snapshot tests for UI components or complex objects that change infrequently- Keep snapshots small and focused- Review snapshot changes carefully before committing ### Testing React Components- Use React Testing Library over Enzyme for testing components- Test user behavior and component accessibility- Query elements by accessibility roles, labels, or text content- Use `userEvent` over `fireEvent` for more realistic user interactions ## Common Jest Matchers- Basic: `expect(value).toBe(expected)`, `expect(value).toEqual(expected)`- Truthiness: `expect(value).toBeTruthy()`, `expect(value).toBeFalsy()`- Numbers: `expect(value).toBeGreaterThan(3)`, `expect(value).toBeLessThanOrEqual(3)`- Strings: `expect(value).toMatch(/pattern/)`, `expect(value).toContain('substring')`- Arrays: `expect(array).toContain(item)`, `expect(array).toHaveLength(3)`- Objects: `expect(object).toHaveProperty('key', value)`- Exceptions: `expect(fn).toThrow()`, `expect(fn).toThrow(Error)`- Mock functions: `expect(mockFn).toHaveBeenCalled()`, `expect(mockFn).toHaveBeenCalledWith(arg1, arg2)`Add Educational Comments
Takes any code file and transforms it into a teaching resource by adding educational comments that explain syntax, design choices, and language concepts. Automa
Agent Governance
When your AI agents start calling APIs, touching databases, or executing shell commands, you need guardrails before something goes sideways. This gives you comp
Agentic Eval
Implements self-critique loops where Claude generates output, evaluates it against your criteria, then refines based on its own feedback. Includes evaluator-opt