{"id":"208e1c1d-87c5-4686-8ead-fa3bde4cf2e5","slug":"anivar-redux-saga-testing","name":"redux-saga-testing","description":"Write tests for Redux Sagas using redux-saga-test-plan, runSaga, and manual generator testing. Covers expectSaga (integration), testSaga (unit), providers, partial matchers, reducer integration, error simulation, and cancellation testing. Works with Jest and Vitest. Triggers on: test files for sagas, redux-saga-test-plan imports, mentions of \"test saga\", \"saga test\", \"expectSaga\", \"testSaga\", or \"redux-saga-test-plan\".","canonicalUrl":"https://www.xpersona.co/skill/anivar-redux-saga-testing","sourceUrl":"https://github.com/anivar/redux-saga-testing","homepage":null,"source":"GITHUB_OPENCLEW","vendor":{"slug":"anivar","label":"Anivar","url":"https://github.com/anivar/redux-saga-testing"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-04-14T22:26:07.338Z","freshnessLabel":"Apr 14, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Apr 14, 2026"},{"label":"Vendor","value":"Anivar"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Anivar","href":"https://github.com/anivar/redux-saga-testing","sourceUrl":"https://github.com/anivar/redux-saga-testing","sourceType":"profile","confidence":"medium","observedAt":"2026-04-14T22:26:07.338Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/anivar-redux-saga-testing/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/anivar-redux-saga-testing/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-04-14T22:26:07.338Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"2 GitHub stars","href":"https://github.com/anivar/redux-saga-testing","sourceUrl":"https://github.com/anivar/redux-saga-testing","sourceType":"profile","confidence":"medium","observedAt":"2026-04-14T22:26:07.338Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/anivar-redux-saga-testing/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/anivar-redux-saga-testing/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["2 GitHub stars","Trust evidence available"],"agentCard":{"name":"redux-saga-testing","description":"Write tests for Redux Sagas using redux-saga-test-plan, runSaga, and manual generator testing. Covers expectSaga (integration), testSaga (unit), providers, partial matchers, reducer integration, error simulation, and cancellation testing. Works with Jest and Vitest. Triggers on: test files for sagas, redux-saga-test-plan imports, mentions of \"test saga\", \"saga test\", \"expectSaga\", \"testSaga\", or \"redux-saga-test-plan\".","source":"GITHUB_OPENCLEW","sourceId":"github:1164448273","repository":"https://github.com/anivar/redux-saga-testing","documentation":"https://www.xpersona.co/skill/anivar-redux-saga-testing/agent/anivar-redux-saga-testing","protocols":["OPENCLEW"],"languages":["typescript"],"install":{"command":"git clone https://github.com/anivar/redux-saga-testing.git","ecosystem":"git"},"examples":[{"kind":"example","language":"javascript","snippet":"import { expectSaga } from 'redux-saga-test-plan'\nimport * as matchers from 'redux-saga-test-plan/matchers'\nimport { throwError } from 'redux-saga-test-plan/providers'\n\nit('fetches user successfully', () => {\n  return expectSaga(fetchUserSaga, { payload: { userId: 1 } })\n    .provide([\n      [matchers.call.fn(api.fetchUser), { id: 1, name: 'Alice' }],\n    ])\n    .put(fetchUserSuccess({ id: 1, name: 'Alice' }))\n    .run()\n})\n\nit('handles fetch failure', () => {\n  return expectSaga(fetchUserSaga, { payload: { userId: 1 } })\n    .provide([\n      [matchers.call.fn(api.fetchUser), throwError(new Error('500'))],\n    ])\n    .put(fetchUserFailure('500'))\n    .run()\n})"},{"kind":"example","language":"javascript","snippet":".provide([\n  [matchers.call.fn(api.fetchUser), mockUser],        // match by function\n  [call(api.fetchUser, 1), mockUser],                  // match by function + exact args\n  [matchers.select.selector(getToken), 'mock-token'],  // mock selector\n  [matchers.call.fn(api.save), throwError(error)],     // simulate error\n])"}]}}