1.0.63 • Published 3 months ago

component-test-helper v1.0.63

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

!IMPORTANT This is technically not my code. Im just maintaining it

Original Author: https://ryanclements.dev

Component-Test-Helper

The Component Test Helper is a package intended to make React Jest testing far more declaritive

Badges

npm version License: MIT Release

Externals

Contributors Forks Stargazers Issues MIT License LinkedIn

About The Project

This is a solution to React frontend testing. This package provides a class, ComponentTestHelper, to be used in Jest React frontend testing use cases. This class allows the developer to abstract a lot of the tedious, duplicated, testing that often occurs when attempting to test the frontend, into reusable functions contained within the bounds of a given components "test helper".

Built With

Getting Started

To get the package included in your project, follow these steps

Installation

using npm:

npm i --save-dev component-test-helper

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

import ComponentTestHelper into test file

import ComponentTestHelper from 'component-test-helper'

define instance for the component to test in the test file

// with a builder
const inputField = new ComponentTestHelper(builder =>
  builder.byTestId('inputFieldContainer')
)

// with a custom ComponentTestHelper - builder only necessary if a custructor wasn't supplied
const inputField = new InputFieldTestHelper(builder =>
  builder.byTestId('inputFieldContainer')
)

// custom with supplied constructor
const inputField = new InputFieldTestHelper()

define custom ComponentTestHelper in another file

export class InputFieldTestHelper extends ComponentTestHelper {
  // define child components to test
  readonly input = new ComponentTestHelper(builder =>
    builder.byTestId('inputField')
  )

  // create constructor if you want to hard code the selector for the builder
  constructor() {
    super(builder => builder.byTestId('inputFieldContainer'))
  }

  // define methods for acting and expecting on components
  async expectToHaveValue(value: string | number | null): Promise<void> {
    expect(await this.input.get()).toHaveValue(value)
  }
}

Check out the examples folder for more details

See the open issues for a full list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Me - @Triston08227721 - triston95strong@gmail.com

Project Link: https://github.com/Tarmstrong95/component-test-helper

1.0.63

3 months ago

1.0.62

1 year ago

1.0.61

1 year ago

1.0.60

1 year ago

1.0.55

1 year ago

1.0.59

1 year ago

1.0.58

1 year ago

1.0.57

1 year ago

1.0.56

1 year ago

1.0.54

1 year ago

1.0.53

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago