Sha256: 7e25e6ba7c7f4da0cb3e9703b213a7146bb3fb496fee24c81a56b890ef7adf1d

Contents?: true

Size: 1.39 KB

Versions: 3

Compression:

Stored size: 1.39 KB

Contents

require 'spec_helper'

describe 'Teacher Address' do

  let(:teacher) { create(:teacher) }
  let(:teacher_with_address) { create(:teacher, :with_address) }
  let(:teacher_with_addresses) { create(:teacher, :with_addresses) }

  let!(:country) { create(:country, name: 'Japan', iso: 'JP') }

  before(:all) { set_resource 'teacher-address' }
  before { as :admin }

  context 'new', js: true, type: 'address' do
    before do
      @resource = teacher
      visit gaku.edit_teacher_path(@resource)
    end

    it_behaves_like 'new address'
  end

  context 'state dropdown', js: true, type: 'address' do

    before do
      @resource = teacher_with_address
      visit gaku.edit_teacher_path(@resource)
    end

    it_behaves_like 'dynamic state dropdown'
  end

  context 'existing', type: 'address' do

    context 'one address' do
      before(:each) do
        @resource = teacher_with_address
        visit gaku.edit_teacher_path(@resource)
        click tab_link
        wait_until { has_content? 'Addresses list' }
      end

      it_behaves_like 'edit address'
      it_behaves_like 'delete address'
    end

    context 'two addresses' do

      before(:each) do
        @resource = teacher_with_addresses
        visit gaku.edit_teacher_path(@resource)
        click tab_link
        wait_until { page.has_content? 'Addresses list' }
      end

      it_behaves_like 'primary addresses'
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gaku-0.0.3 core/spec/requests/teachers/addresses_spec.rb
gaku-0.0.2 core/spec/requests/teachers/addresses_spec.rb
gaku-0.0.1 core/spec/requests/teachers/addresses_spec.rb