Skip to content

Instantly share code, notes, and snippets.

@thiagoramos23
Created November 8, 2014 03:43
Show Gist options
  • Select an option

  • Save thiagoramos23/9aca116f91fb3953073b to your computer and use it in GitHub Desktop.

Select an option

Save thiagoramos23/9aca116f91fb3953073b to your computer and use it in GitHub Desktop.
residence_acceptance_spec
require 'rails_helper'
RSpec.describe 'Residence Integration Tests' do
let(:user) { create(:user, email: 'admin@admin.com', password: '123456') }
let(:login_page) { LoginPageObject.new }
let(:index_page) { IndexResidencePage.new }
context '#valid_user' do
before {
login_page.visit_root.login(user)
}
context 'List Residences' do
let!(:residence) { create(:residence, cep: '57031-530') }
scenario 'Render the Lists of Residences' do
index_page.visit_page
expect(index_page).to have_residence(residence)
end
end
scenario 'Click on new' do
index_page.visit_page
new_page = index_page.click_on_new
expect(new_page).to have_current_path(new_admin_residence_path)
end
context "Create a Residence" do
let(:new_residence) { build(:residence, cep: '57000-000') }
before {
index_page.visit_page
}
scenario 'Creates a Valid Residence' do
new_page = index_page.click_on_new
new_page.fill_in_with_residence(new_residence)
index_page = new_page.click_on_save
expect(index_page).to have_message('Domicílio criado com sucesso.')
end
scenario 'Create with invalid value' do
new_page = index_page.click_on_new
new_page.fill_in_with_residence(new_residence)
new_page.make_blank_field('#residence_cep')
new_page.click_on_save
expect(new_page).to have_invalid_message_on_div('.residence_cep')
end
end
context "Editing a Residence" do
let!(:residence) { create(:residence, cep: '57031-530') }
before {
index_page.visit_page
}
scenario 'Edit the residence with success' do
edit_page = index_page.click_on_edit
edit_page.change_field('#residence_cep', '57000-000')
index_page = edit_page.click_on_save
expect(index_page).to have_message('Domicílio atualizado com sucesso.')
end
scenario 'Edit with invalid value' do
edit_page = index_page.click_on_edit
edit_page.change_field('#residence_cep', '')
edit_page.click_on_save
expect(edit_page).to have_invalid_message_on_div('.residence_cep')
end
end
context "Remove residence" do
let!(:residence) { create(:residence, cep: '57031-530') }
scenario 'Remove the residence' do
index_page.visit_page
index_page.click_on_remove
expect(index_page).to have_message('Domicílio foi excluído com sucesso.')
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment