Sha256: b063346abd47bfe678ee6de46e34d003a296c48aa7f786da626e6f526ed51289

Contents?: true

Size: 1.6 KB

Versions: 2

Compression:

Stored size: 1.6 KB

Contents

require 'spec_helper'

describe 'Admin Grading Methods' do

  before { as :admin }
  before(:all) { set_resource 'admin-grading-method' }

  let(:grading_method) { create(:grading_method, name: 'Bulgarian') }


  context 'new', js: true do
    before do
      visit gaku.admin_grading_methods_path
      click new_link
      wait_until_visible submit
    end

    it 'creates and shows' do
      expect do
        fill_in 'grading_method_name', with: 'Bulgarian'
        click submit
        flash_created?
      end.to change(Gaku::GradingMethod, :count).by 1

      has_content? 'Bulgarian'
      count? 'Grading Methods list(1)'
    end

    it { has_validations? }
  end

  context 'existing' do
    before do
      grading_method
      visit gaku.admin_grading_methods_path
    end

    context 'edit', js: true do
      before do
        within(table) { click js_edit_link }
        wait_until_visible modal
      end

      it 'edits' do
        fill_in 'grading_method_name', with: 'Japanese'
        click submit

        flash_updated?
        has_content? 'Japanese'
        has_no_content? 'Bulgarian'
        expect(grading_method.reload.name).to eq 'Japanese'
      end

      it 'has validations' do
        fill_in 'grading_method_name', with: ''
        has_validations?
      end
    end

    it 'deletes', js: true do
      has_content? grading_method.name
      count? 'Grading Methods list(1)'

      expect do
        ensure_delete_is_working
      end.to change(Gaku::GradingMethod, :count).by -1

      flash_destroyed?
      count? 'Grading Methods list(1)'
      has_content? grading_method.name
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gaku-0.0.3 core/spec/requests/admin/grading/grading_methods_spec.rb
gaku-0.0.2 core/spec/requests/admin/grading/grading_methods_spec.rb