У меня есть компонент реагирования, который, когда я нажимаю значок, меняет состояние, а затем я помещаю в него вместо значка.Нажмите, чтобы не работать с компонентом реакции + capypara
Когда я пытаюсь имитировать это в своем тесте, используя capybara, компонент не изменяется.
Есть ли вероятность, что щелчок не будет работать на компоненте из-за capybara? Или просто не работает, потому что это реактивный компонент?
Компонент:
render() {
return (
<div>
{ this.state.editable ? this.renderEditableComponent() : this.renderNotEditableComponent() }
</div>
) }
renderEditableComponent() {
return (
<EditableDeliverLimit
value={ this.state.value }
handleClick={ this.handleClick.bind(this) } />
) }
renderNotEditableComponent() {
return (
<NotEditableDeliverLimit
value={ this.state.value }
handleClick={ this.handleClick.bind(this) } />
) }
Тест:
Then "should successfuly change deliver limit" do
wait_for_selector_appearance("##{ad_table_row_id(@ad)} .ad-table-row-deliver-limit span")
find("##{ad_table_row_id(@ad)} .ad-table-row-deliver-limit span").click
wait_for_selector_disappearance("##{ad_table_row_id(@ad)} .ad-table-row-deliver-limit span")
end
Работает ли код вне capybara? Можете ли вы поделиться своим кодом, чтобы мы могли решить это как проблему? – Justin
Да! Когда я тестирую вне теста, все работает нормально. Я отредактирую свой вопрос, чтобы поставить код. – Marina
Какой драйвер вы используете с Capybara? –