@maxprof
Студент

Как разобраться в тестировании контроллеров в Rails?

Здравствуйте, буду благодарен, если объясните что делает данный тест контроллера.
Делаю по уроку. До этого все ясно и понятно, но в тестирование только начал разбирать и немного не понимаю что тут происходит.
test "Invalid category submission results in failture" do
		get new_category_path
		assert_template 'categories/new'
		assert_difference 'Category.count', 1 do
			post_via_redirect categories_path, category: {name: " "}
		end
		assert_template 'categories/new'
		assert_select "h2.panel-title"
		assert_select "div.panel-body"
	end
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
mbeloshitsky
@mbeloshitsky
Вебдев, систем оперейшонс, ж.д. автоматика
Все происходит примерно так:
get new_category_path
Переходим на страницу по адресу new_category_path
assert_template 'categories/new'
Убеждаемся, что эта страница была отренденера с использованием шаблона по адресу app/categories/new.html.erb
assert_difference 'Category.count', 1 do
  post_via_redirect categories_path, category: {name: " "}
end

Убеждаемся, что отправке POST-запроса на адрес categories_path, новая категория действительно создается.
assert_template 'categories/new'
См. выше.
assert_select "h2.panel-title"
assert_select "div.panel-body"

Убеждаемся в присутствии в DOM-е страницы элементов h2.panel-title и div.panel-body (тут скорее всего проверка на то, что форма сверстана при помощи одного известного css-фреймворка).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы