Created
November 8, 2014 03:43
-
-
Save thiagoramos23/9aca116f91fb3953073b to your computer and use it in GitHub Desktop.
residence_acceptance_spec
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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