Fetch-Reply-With: Mock Ajax Requests for Unit Tests


Simplifies unit tests by intercepting fetch requests and returning mocked responses.


npm install --save-dev fetch-reply-with


require('fetch-reply-with'); // <- `fetch` is now globally available

// intercept GET http://orcascan.com and reply with...
fetch('http://orcascan.com', {

    // regular fetch option
    method: 'GET',

    // add reply for this fetch
    replyWith: {
        status: 200,
        body: 'Barcode Scanner app',
        headers: {
            'Content-Type': 'text/html'
        delay: 500 // miliseconds to wait before responding (default = 0)

// execute fetch request
    return res.text();
    // text === `Barcode Scanner app`

Couple of things to note:

  • Requests not setup with replyWith are executed as normal
  • A replyWith can be modified by redefining the replyWith

Unit Tests

The project includes unit tests, to run the tests:

  1. Checkout git clone https://github.com/john-doherty/fetch-reply-with
  2. Navigate into project folder cd fetch-reply-with
  3. Install dependencies npm install
  4. Run the tests npm test


  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :)

Star the repo

If you find this useful please star the repo, it helps us prioritize fixes :raised_hands:


For change-log, check releases.

Download Details:

Author: john-doherty
Source Code: https://github.com/john-doherty/fetch-reply-with 
License: MIT License

#ajax #nodejs #fetch #mock #testing 

Fetch-Reply-With: Mock Ajax Requests for Unit Tests
1.50 GEEK