adds tags feature specs [#8]
This commit is contained in:
99
spec/features/tags_spec.rb
Normal file
99
spec/features/tags_spec.rb
Normal file
@@ -0,0 +1,99 @@
|
||||
require 'rails_helper'
|
||||
|
||||
feature 'Tags' do
|
||||
|
||||
scenario 'Index' do
|
||||
earth = create(:debate, tag_list: 'Medio Ambiente')
|
||||
money = create(:debate, tag_list: 'Economía')
|
||||
|
||||
visit debates_path
|
||||
|
||||
within "#debate-#{earth.id}" do
|
||||
expect(page).to have_content "Temas: Medio Ambiente"
|
||||
end
|
||||
|
||||
within "#debate-#{money.id}" do
|
||||
expect(page).to have_content "Temas: Economía"
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Filtered' do
|
||||
2.times { create(:debate, tag_list: 'Salud') }
|
||||
2.times { create(:debate, tag_list: 'Hacienda') }
|
||||
|
||||
visit debates_path
|
||||
first(:link, "Salud").click
|
||||
|
||||
expect(page).to have_css('.debate', count: 2)
|
||||
expect(page).to have_content('Temas: Salud')
|
||||
expect(page).to_not have_content('Temas: Hacienda')
|
||||
end
|
||||
|
||||
scenario 'Show' do
|
||||
debate = create(:debate, tag_list: 'Hacienda, Economía')
|
||||
|
||||
visit debate_path(debate)
|
||||
|
||||
expect(page).to have_content "Temas: Hacienda, Economía"
|
||||
end
|
||||
|
||||
scenario 'Tag Cloud' do
|
||||
1.times { create(:debate, tag_list: 'Medio Ambiente') }
|
||||
5.times { create(:debate, tag_list: 'Corrupción') }
|
||||
10.times { create(:debate, tag_list: 'Economía') }
|
||||
|
||||
visit debates_path
|
||||
|
||||
within "#tag-cloud" do
|
||||
expect(page).to have_css(".s", text: "Medio Ambiente(1)")
|
||||
expect(page).to have_css(".m", text: "Corrupción(5)")
|
||||
expect(page).to have_css(".l", text: "Economía(10)")
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Create' do
|
||||
user = create(:user)
|
||||
login_as(user)
|
||||
|
||||
visit new_debate_path
|
||||
fill_in 'debate_title', with: 'Title'
|
||||
fill_in 'debate_description', with: 'Description'
|
||||
check 'debate_terms_of_service'
|
||||
|
||||
fill_in 'debate_tag_list', with: "Impuestos, Economía, Hacienda"
|
||||
|
||||
click_button 'Crear Debate'
|
||||
|
||||
expect(page).to have_content 'Debate creado correctamente'
|
||||
expect(page).to have_content 'Temas: Impuestos, Economía, Hacienda'
|
||||
end
|
||||
|
||||
scenario 'Update' do
|
||||
debate = create(:debate, tag_list: 'Economía')
|
||||
|
||||
login_as(debate.author)
|
||||
visit edit_debate_path(debate)
|
||||
|
||||
expect(page).to have_selector("input[value='Economía']")
|
||||
|
||||
fill_in 'debate_tag_list', with: "Economía, Hacienda"
|
||||
click_button 'Actualizar Debate'
|
||||
|
||||
expect(page).to have_content 'Debate actualizado correctamente'
|
||||
expect(page).to have_content 'Temas: Economía, Hacienda'
|
||||
end
|
||||
|
||||
scenario 'Delete' do
|
||||
debate = create(:debate, tag_list: 'Economía')
|
||||
|
||||
login_as(debate.author)
|
||||
visit edit_debate_path(debate)
|
||||
|
||||
fill_in 'debate_tag_list', with: ""
|
||||
click_button 'Actualizar Debate'
|
||||
|
||||
expect(page).to have_content 'Debate actualizado correctamente'
|
||||
expect(page).to_not have_content 'Temas:'
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user