Как проверить состояние ошибки с установленным Компонентом внутри MemoryRouter с помощью Enzyme и Mocha - PullRequest
1 голос
/ 04 апреля 2019

Я хочу проверить состояние ошибки React Component с использованием Enzyme. Ошибка не отображается, даже если задано состояние.

Это метод визуализации компонента React

  render() {

    return (
      <div>
        <div>
          <h1>Signup</h1>

          {this.state.error ? <p>{this.state.error}</p> : undefined}

          <form onSubmit={this.onSubmit}>
            <input type="text" ref="username" name="username" placeholder="Username"/>
            <input type="email" ref="email" name="email" placeholder="Email"/>
            <input type="password" ref="password" name="password" placeholder="Password"/>
            <button>Create Account</button>
          </form>

          <p><Link to="/login">Already have an account?</Link></p>
        </div>
      </div>
    )

  }

Это тест с мокко и ферментом

    it('should show error message', function () {

      const error = 'This is not working'
      const spy2 = expect.createSpy()

      const wrapper2 = Enzyme.mount(
        <MemoryRouter>
          <Signup
            createUser={spy2}
          />
        </MemoryRouter>
      )

      // Access Signup Component inside Memory Router
      const component = wrapper2.find(Signup)

      component.setState({error})
      expect(component.find('p').first().text()).toBe(error)
    })

Я ожидаю, что текст абзаца ошибки совпадает с установленным сообщением о состоянии ошибки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...