Sha256: 3d23075a4072957689134afd367a8cc525baaba3d5955231f9842b6fe45be3ab

Contents?: true

Size: 1.88 KB

Versions: 5

Compression:

Stored size: 1.88 KB

Contents

require 'spec_helper'

describe 'Student External School Records' do

  before { as :admin }

  let!(:student) { create(:student) }
  let!(:school) { create(:school) }

  before(:all) { set_resource 'student-external-school-record' }

  context 'new', js: true do
    before do
      visit gaku.edit_student_path(student)
      click '#student-external-school-records-menu a'
      click new_link
    end

    it 'creates' do
      expect do
        select school.name, from: 'external_school_record_school_id'
        fill_in 'external_school_record_units_absent', with: 500
        fill_in 'external_school_record_total_units', with: 100
        click submit
        flash_created?
      end.to change(Gaku::ExternalSchoolRecord, :count).by(1)

      within('.external-school-records-count') { expect(page.has_content?('1')).to eq true }

      within(table) do
        has_content? 500
        has_content? 100
      end
    end
  end

  context 'existing', js: true do

    let!(:external_school_record) { create(:external_school_record, school: school, student: student) }

    before do
      visit gaku.edit_student_path(student)
      click '#student-external-school-records-menu a'
    end

    context 'edit' do
      it 'edits' do
        click js_edit_link
        fill_in 'external_school_record_beginning', with: '2012-01-01'
        fill_in 'external_school_record_ending', with: '2013-01-01'
        click submit

        flash_updated?
        external_school_record.reload
        expect(external_school_record.beginning.to_s).to eq '2012-01-01'
        expect(external_school_record.ending.to_s).to eq '2013-01-01'
      end
    end

    it 'deletes' do
      expect do
        ensure_delete_is_working
        flash_destroyed?
      end.to change(Gaku::ExternalSchoolRecord, :count).by(-1)
      within('.external-school-records-count') { expect(page.has_content?('0')).to eq true }
    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gaku-0.2.4 frontend/spec/features/students/external_school_records_spec.rb
gaku-0.2.3 frontend/spec/features/students/external_school_records_spec.rb
gaku-0.2.2 frontend/spec/features/students/external_school_records_spec.rb
gaku-0.2.1 frontend/spec/features/students/external_school_records_spec.rb
gaku-0.2.0 frontend/spec/features/students/external_school_records_spec.rb