Socket
Socket
Sign inDemoInstall

jest-environment-jsdom

Package Overview
Dependencies
398
Maintainers
6
Versions
273
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    jest-environment-jsdom


Version published
Weekly downloads
16M
increased by7.41%
Maintainers
6
Install size
24.7 MB
Created
Weekly downloads
 

Package description

What is jest-environment-jsdom?

The jest-environment-jsdom package is a custom environment for Jest that allows you to simulate a browser-like environment using jsdom. This is useful for testing web applications without running them in an actual browser. It provides a simulated DOM API that you can interact with in your tests.

What are jest-environment-jsdom's main functionalities?

Simulating browser environment for testing

This feature allows you to simulate browser-like interactions such as clicking a button and then asserting the expected outcome, all within a Node.js environment.

test('simulates a click event', () => {
  document.body.innerHTML = '<button id="button">Click me</button>';
  const button = document.getElementById('button');
  button.addEventListener('click', () => {
    button.innerHTML = 'Clicked';
  });
  button.click();
  expect(button.innerHTML).toBe('Clicked');
});

Testing DOM manipulation

You can test DOM manipulation by creating, modifying, and removing elements, and then asserting that these changes have taken place as expected.

test('adds a new div to the body', () => {
  const div = document.createElement('div');
  div.id = 'new-div';
  document.body.appendChild(div);
  expect(document.getElementById('new-div')).not.toBeNull();
});

Mocking global variables

The package allows you to mock global variables such as localStorage, which is useful for testing code that interacts with browser APIs that are not available in Node.js.

test('mocks a global variable', () => {
  global.localStorage = {
    getItem: jest.fn().mockReturnValue('mockValue')
  };
  expect(global.localStorage.getItem('key')).toBe('mockValue');
});

Other packages similar to jest-environment-jsdom

Changelog

Source

24.9.0

Features

  • [expect] Highlight substring differences when matcher fails, part 1 (#8448)
  • [expect] Highlight substring differences when matcher fails, part 2 (#8528)
  • [expect] Improve report when mock-spy matcher fails, part 1 (#8640)
  • [expect] Improve report when mock-spy matcher fails, part 2 (#8649)
  • [expect] Improve report when mock-spy matcher fails, part 3 (#8697)
  • [expect] Improve report when mock-spy matcher fails, part 4 (#8710)
  • [expect] Throw matcher error when received cannot be jasmine spy (#8747)
  • [expect] Improve report when negative CalledWith assertion fails (#8755)
  • [expect] Improve report when positive CalledWith assertion fails (#8771)
  • [expect] Display equal values for ReturnedWith similar to CalledWith (#8791)
  • [expect, jest-snapshot] Change color from green for some args in matcher hints (#8812)
  • [jest-snapshot] Highlight substring differences when matcher fails, part 3 (#8569)
  • [jest-core] Improve report when snapshots are obsolete (#8665)
  • [jest-cli] Improve chai support (with detailed output, to match jest exceptions) (#8454)
  • [*] Manage the global timeout with --testTimeout command line argument. (#8456)
  • [pretty-format] Render custom displayName of memoized components (#8546)
  • [jest-validate] Allow maxWorkers as part of the jest.config.js (#8565)
  • [jest-runtime] Allow passing configuration objects to transformers (#7288)
  • [@jest/core, @jest/test-sequencer] Support async sort in custom testSequencer (#8642)
  • [jest-runtime, @jest/fake-timers] Add jest.advanceTimersToNextTimer (#8713)
  • [@jest-transform] Extract transforming require logic within jest-core into @jest-transform (#8756)
  • [jest-matcher-utils] Add color options to matcherHint (#8795)
  • [jest-circus/jest-jasmine2] Give clearer output for Node assert errors (#8792)
  • [jest-runner] Export all types in the type signature of jest-runner (#8825)

Fixes

  • [jest-cli] Detect side-effect only imports when running --onlyChanged or --changedSince (#8670)
  • [jest-cli] Allow --maxWorkers to work with % input again (#8565)
  • [babel-plugin-jest-hoist] Expand list of whitelisted globals in global mocks (#8429)
  • [jest-core] Make watch plugin initialization errors look nice (#8422)
  • [jest-snapshot] Prevent inline snapshots from drifting when inline snapshots are updated (#8492)
  • [jest-haste-map] Don't throw on missing mapper in Node crawler (#8558)
  • [jest-core] Fix incorrect passWithNoTests warning (#8595)
  • [jest-snapshots] Fix test retries that contain snapshots (#8629)
  • [jest-mock] Fix incorrect assignments when restoring mocks in instances where they originally didn't exist (#8631)
  • [expect] Fix stack overflow when matching objects with circular references (#8687)
  • [jest-haste-map] Workaround a node >=12.5.0 bug that causes the process not to exit after tests have completed and cancerous memory growth (#8787)

Chore & Maintenance

  • [docs] Replace FlowType with TypeScript in CONTRIBUTING.MD code conventions
  • [jest-leak-detector] remove code repeat (#8438)
  • [docs] Add example to jest.requireActual (#8482)
  • [docs] Add example to jest.mock for mocking ES6 modules with the factory parameter (#8550)
  • [docs] Add information about using jest.doMock with ES6 imports (#8573)
  • [docs] Fix variable name in custom-matcher-api code example (#8582)
  • [docs] Fix example used in custom environment docs (#8617)
  • [docs] Updated react tutorial to refer to new package of react-testing-library (@testing-library/react) (#8753)
  • [docs] Updated imports of react-testing-library to @testing-library/react in website (#8757)
  • [jest-core] Add getVersion (moved from jest-cli) (#8706)
  • [docs] Fix MockFunctions example that was using toContain instead of toContainEqual (#8765)
  • [*] Make sure copyright header comment includes license (#8783)
  • [*] Check copyright and license as one joined substring (#8815)
  • [docs] Fix WatchPlugins jestHooks.shouldRunTestSuite example that receives an object (#8784)
  • [*] Enforce LF line endings (#8809)
  • [pretty-format] Delete obsolete link and simplify structure in README (#8824)
  • [docs] Fix broken transform link on webpack page (#9155)

Performance

  • [jest-watcher] Minor optimization for JestHook (#8746)
  • [@jest/reporters] Prevent runaway CPU usage with --notify on macOS (#8831)

FAQs

Last updated on 16 Aug 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc