Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A module to mock window.localStorage and window.sessionStorage in Jest
| Date | Stars |
|---|---|
| 2026-07-24 | 319 |
| 2026-07-25 | 319 |
| 2026-07-28 | 319 |
| 2026-07-30 | 319 |
| 2026-08-06 | 319 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
Use this module with [Jest](https://facebook.github.io/jest/) to run web tests
that rely on `localstorage` and / or `sessionStorage` where you want a working
localStorage API with mocked functions.
This module has no runtime dependencies so your project won't pull in additional
module dependencies by using this.
[](https://www.npmjs.com/package/jest-localstorage-mock)
[](https://github.com/clarkbw/jest-localstorage-mock/blob/master/LICENSE)
[](https://codecov.io/gh/clarkbw/jest-localstorage-mock)
[](https://greenkeeper.io/)
[](https://twitter.com/intent/tweet?text=Wow:&url=%5Bobject%20Object%5D)
# Jest 24+
Note that with `jest@24` and above this project potentially duplicating functionality.
## Install
This should only be installed as a development dependency (`devDependencies`) as
it is only designed for testing. The module is transpiled via
[babel](https://github.com/babel/babel) to support the current active Node LTS
version (6.11.3).
yarn:
```bash
yarn add --dev jest-localstorage-mock
```
npm:
```bash
npm i --save-dev jest-localstorage-mock
```
## Setup
The simplest setup is to use the [module](#module) system, you may also choose
to create a [setup file](#setup-file) if needed.
### Module
In your `package.json` under the `jest`
[configuration section](https://facebook.github.io/jest/docs/en/configuration.html#content)
create a `setupFiles` array and add `jest-localstorage-mock` to the array. Also, ensure you have *not* enabled [`resetMocks`](https://jestjs.io/docs/en/configuration#resetmocks-boolean).
```json
{
"jest": {
"resetMocks": false,
"setupFiles": ["jest-localstorage-mock"]
}
}
```
If you already have a `setupFiles` attribute you can also append
`jest-localstorage-mock` to the array.
```json
{
"jest": {
"resetMocks": false,
"setupFiles": ["./__setups__/other.js", "jest-localstorage-mock"]
}
}
```
### Setup file
Alternatively you can create a new setup file which then requires this module or
add the `require` statement to an existing setup file.
`__setups__/localstorage.js`
```js
import 'jest-localstorage-mock';
// or
require('jest-localstorage-mock');
```
Add that file to your `setupFiles` array:
```json
"jest": {
"setupFiles": [
"./__setups__/localstorage.js"
]
}
```
### In create-react-app
For a [create-react-app](https://github.com/facebookincubator/create-react-app)
project you can replace the
[suggested mock](https://github.com/facebookincubator/create-react-app/tree/master/packages/react-scripts/template#srcsetuptestsjs-1)
with this at the beginning of the existing `src/setupTests.js` file:
```js
require('jest-localstorage-mock');
```
You must also override some of create-react-app's default jest configuration. You can do so in your `package.json`:
```json
{
"jest": {
"resetMocks": false
}
}
```
For more information, see [#125](https://github.com/clarkbw/jest-localstorage-mock/issues/125).
## In tests
By including this in your Jest setup you'll allow tests that expect a
`localStorage` and `sessionStorage` object to continue to run. The module can
also allow you to use the mocks provided to check that your localStorage is
being used as expected.
The `__STORE__` attribute of `localStorage.__STORE__` or
`sessionStorage.__STORE__` is made available for you to directly access the
storage object if needed.
### Test Examples
Check that your `localStorage` calls were made when they were supposed to.
```js
test('should save to localStorage', () => {
const KEY = 'foo',
VALUE = 'bar';
dispatch(action.update(KEY, VALUE));
expect(localSExcerpt of 6,057 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:f136d165820b91f8, topic:testing