Не можете сказать, что проваливает тесты на огурец? - PullRequest
0 голосов
/ 31 января 2019

Я преобразовал некоторый код Ruby в HTML, чтобы я мог использовать Bootstrap, но теперь он говорит мне, что он не попадает на нужную страницу - но это так.

Ошибка показывает, что он прибывает в /путь create_exercise, но когда я запускаю приложение RoR, оно действительно идет по пути / create_workout, когда я отправляю форму на странице (с кнопкой submit_tag «Enter»).Пробовал переключить эту строку на код Ruby, но все равно не получилось, так что это не кнопка отправки.

Вот ошибка огурца:

Scenario: I enter a new exercise                   # features/create_exercise.feature:15
    Given I login and am on the create exercise page # features/step_definitions/generic_steps.rb:76
    When I enter "Sit ups" into "name"               # features/step_definitions/generic_steps.rb:131
    And I choose "Cardio"                            # features/step_definitions/generic_steps.rb:119
    And I press "Enter"                              # features/step_definitions/generic_steps.rb:113
    Then I should be on the create workout page      # features/step_definitions/generic_steps.rb:82
      current_path: /create_exercise
      should_path: /create_workout
      expected: "/create_workout"
           got: "/create_exercise" (using ==) (RSpec::Expectations::ExpectationNotMetError)
      ./features/step_definitions/generic_steps.rb:87:in `/^(?:|I )should be on (.+)$/'
      features/create_exercise.feature:21:in `Then I should be on the create workout page'
   (0.2ms)  rollback transaction

Вот исходный код, который передал огурецtest:

    <p>
  Create Exercise:<br />
  <%= form_tag process_create_exercise_path, :method => :post do %>
    <%= label_tag 'Name:' %>
    <%= text_field_tag 'name', '', :maxlength => 140, :autocomplete => 'off' %><br />
    <b>Category:</b><br />
    <%= radio_button_tag(:category, "Cardio") %>
    <%= label_tag(:cardio, "Cardio") %>
    <%= radio_button_tag(:category, "Strength") %>
    <%= label_tag(:strength, "Strength") %><br />
    <b>Everything below this is optional:</b><br />
    <%= label_tag 'Description:' %>
    <%= text_field_tag 'description', '', :maxlength => 140, :autocomplete => 'off' %><br />
    <%= label_tag 'Muscle Group:' %>
    <%= text_field_tag 'musclegroup', '', :maxlength => 140, :autocomplete => 'off' %><br />
    <%= submit_tag 'Enter' %>
  <% end %>
</p>

<%= render :template => 'homepage/template' %>

Вот мой новый (более красивый) код, но он вызывает ошибку выше:

<html>
<body>

  <legend>Create Exercise:</legend>

  <fieldset>
  <div class="form-group">
    <%= form_tag process_create_exercise_path, :method => :post do %>
      <label for="name">Name:</label>
      <input type="text" name="name" class="form-control" id="name" value="" maxlength="140" autocomplete="off" placeholder="Enter name of exercise">
  </div>

  <div class="form-group">
    <label for="category_select">Category:</label>
    <div class="form-check" id="category_select">
      <label class="form-check-label">
        <input type="radio" name="category" id="category_Cardio" value="Cardio" class="form-check-input">
        Cardio
      </label>
    </div>
    <div class="form-check">
      <label class="form-check-label">
        <input type="radio" name="category" id="category_Strength" value="Strength" class="form-check-input">
        Strength
      </label>
    </div>
  </div>

  <div class="form-group">
    <label for="description">Description:</label>
      <input type="text" name="description" id="description" value="" maxlength="140" autocomplete="off" placeholder="optional">
    <label for="muscle_group">Muscle Group:</label>
      <input type="text" name="muscle group" id="muscle_group" value="" maxlength="140" autocomplete="off" placeholder="optional">
    <!--<input class="btn btn-primary" type="submit" name="commit" value="Enter">-->
    <%= submit_tag "Enter" %>
  </div>

  <% end %>

  </fieldset>
</body>

<%= render :template => 'homepage/template' %>

</html>

1 Ответ

0 голосов
/ 31 января 2019

Неважно, я понял это.

Ранее эта строка:

<%= form_tag process_create_exercise_path, :method => :post do %>

... применялась ко всей форме, но новая версия содержала ее только в div.Переместил его за пределы div, и это сработало.

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