Skip to content

Commit

Permalink
fix changelog, remove old specs (issue #100)
Browse files Browse the repository at this point in the history
  • Loading branch information
LukasSkywalker committed Dec 15, 2016
1 parent 4b81d35 commit d3bd252
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 100 deletions.
3 changes: 1 addition & 2 deletions CHANGELOG.md
Expand Up @@ -4,8 +4,7 @@

* Personentags können importiert und exportiert werden.
* Personen können in Mailinglisten nach Tags gefiltert werden.
* JSON API für Kurs Typen.
* Automatische Ausfüllung der Kurs Beschreibungen wenn ein Kurstyp gewählt wird
* Automatische Ausfüllung der Kurs Beschreibungen wenn ein Kurstyp gewählt wird.


## Version 1.12
Expand Down
2 changes: 1 addition & 1 deletion app/views/events/_default_description_link.html.haml
Expand Up @@ -3,6 +3,6 @@
%a.standard-description-link
= t('activerecord.attributes.event/kind.general_information')

- Event::Kind.all.each do |event_kind|
- @kinds.each do |event_kind|
%p.hide.default-description{data: {kind: event_kind.id} }
= event_kind.general_information
2 changes: 1 addition & 1 deletion app/views/events/_general_fields.html.haml
Expand Up @@ -21,7 +21,7 @@
= f.labeled_input_field(:number)

- entry.used?(:description) do
= render partial: 'default_description_link' if entry.kind_class
= render partial: 'default_description_link' if entry.course_kind?
= f.labeled_input_field(:description)

= f.labeled_input_fields(*entry.used_attributes(:motto, :cost))
Expand Down
179 changes: 83 additions & 96 deletions spec/controllers/event/kinds_controller_spec.rb
Expand Up @@ -9,123 +9,110 @@

describe Event::KindsController do

context 'when signed in' do
let(:destroyed) { Event::Kind.with_deleted.find(ActiveRecord::FixtureSet.identify(:old)) }

before { sign_in(people(:top_leader)) }

it 'POST update resets destroy flag when updating deleted kinds' do
expect(destroyed).to be_deleted
post :update, id: destroyed.id, event_kind: { label: destroyed.label }
expect(destroyed.reload).not_to be_deleted
end
let(:destroyed) { Event::Kind.with_deleted.find(ActiveRecord::FixtureSet.identify(:old)) }

it 'GET index lists destroyed entries last' do
get :index
expect(assigns(:kinds).last).to eq(destroyed)
end
before { sign_in(people(:top_leader)) }

it 'GET event kinds to fill description' do
get :index, format: :json
expect(response.status).to eq(200)
end
it 'POST update resets destroy flag when updating deleted kinds' do
expect(destroyed).to be_deleted
post :update, id: destroyed.id, event_kind: { label: destroyed.label }
expect(destroyed.reload).not_to be_deleted
end

it 'POST create accepts qualification_conditions and general_information' do
post :create, event_kind: { label: 'Foo',
application_conditions: '<b>bar</b>',
general_information: '<b>baz</b>' }
it 'GET index lists destroyed entries last' do
get :index
expect(assigns(:kinds).last).to eq(destroyed)
end

it 'POST create accepts qualification_conditions and general_information' do
post :create, event_kind: { label: 'Foo',
application_conditions: '<b>bar</b>',
general_information: '<b>baz</b>' }

kind = assigns(:kind)
expect(kind.reload.application_conditions).to eq '<b>bar</b>'
expect(kind.general_information).to eq '<b>baz</b>'
end

context 'qualification kinds' do
let(:sl) { qualification_kinds(:sl) }
let(:gl) { qualification_kinds(:gl) }
let(:ql) { qualification_kinds(:ql) }
let(:kind) { event_kinds(:fk) }

kind = assigns(:kind)
expect(kind.reload.application_conditions).to eq '<b>bar</b>'
expect(kind.general_information).to eq '<b>baz</b>'
it 'creates event kind without associations' do
post :create, event_kind: { label: 'Foo' }

expect(assigns(:kind).errors.full_messages).to eq []

assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 0
end

context 'qualification kinds' do
let(:sl) { qualification_kinds(:sl) }
let(:gl) { qualification_kinds(:gl) }
let(:ql) { qualification_kinds(:ql) }
let(:kind) { event_kinds(:fk) }

it 'creates event kind without associations' do
post :create, event_kind: { label: 'Foo' }

expect(assigns(:kind).errors.full_messages).to eq []

assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 0
end

it 'adds associations to new event kind' do
post :create, event_kind: { label: 'Foo',
qualification_kinds: {
participant: {
precondition: { qualification_kind_ids: [sl.id, gl.id] },
qualification: { qualification_kind_ids: [sl.id, gl.id] },
prolongation: { qualification_kind_ids: [sl.id] }
},
leader: {
qualification: { qualification_kind_ids: [sl.id, gl.id] },
prolongation: { qualification_kind_ids: [sl.id, gl.id] }
}
it 'adds associations to new event kind' do
post :create, event_kind: { label: 'Foo',
qualification_kinds: {
participant: {
precondition: { qualification_kind_ids: [sl.id, gl.id] },
qualification: { qualification_kind_ids: [sl.id, gl.id] },
prolongation: { qualification_kind_ids: [sl.id] }
},
leader: {
qualification: { qualification_kind_ids: [sl.id, gl.id] },
prolongation: { qualification_kind_ids: [sl.id, gl.id] }
}
}
}

expect(assigns(:kind).errors.full_messages).to eq []
expect(assigns(:kind).errors.full_messages).to eq []

assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 9
expect(assocs.where(role: :participant, category: :precondition).count).to eq 2
expect(assocs.where(role: :participant, category: :qualification).count).to eq 2
expect(assocs.where(role: :participant, category: :prolongation).count).to eq 1
expect(assocs.where(role: :leader, category: :qualification).count).to eq 2
expect(assocs.where(role: :leader, category: :prolongation).count).to eq 2
end

it 'adds association to existing event kind' do
expect(kind.event_kind_qualification_kinds.count).to eq 4
ids = kind.event_kind_qualification_kinds.pluck(:qualification_kind_id)
ids << ql.id
assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 9
expect(assocs.where(role: :participant, category: :precondition).count).to eq 2
expect(assocs.where(role: :participant, category: :qualification).count).to eq 2
expect(assocs.where(role: :participant, category: :prolongation).count).to eq 1
expect(assocs.where(role: :leader, category: :qualification).count).to eq 2
expect(assocs.where(role: :leader, category: :prolongation).count).to eq 2
end

put :update, id: kind.id, event_kind: { label: kind.label,
qualification_kinds: { participant: { prolongation: {
qualification_kind_ids: ids } } } }
it 'adds association to existing event kind' do
expect(kind.event_kind_qualification_kinds.count).to eq 4
ids = kind.event_kind_qualification_kinds.pluck(:qualification_kind_id)
ids << ql.id

assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 5
expect(assocs.pluck(:qualification_kind_id)).to match_array(ids)
end
put :update, id: kind.id, event_kind: { label: kind.label,
qualification_kinds: { participant: { prolongation: {
qualification_kind_ids: ids } } } }

it 'removes association from existing event kind' do
expect(kind.event_kind_qualification_kinds.count).to eq 4
assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 5
expect(assocs.pluck(:qualification_kind_id)).to match_array(ids)
end

put :update, id: kind.id, event_kind: { label: kind.label,
qualification_kinds: { participant: { prolongation: {
qualification_kind_ids: [gl.id] } } } }
it 'removes association from existing event kind' do
expect(kind.event_kind_qualification_kinds.count).to eq 4

assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 1
expect(assocs.pluck(:qualification_kind_id)).to match_array([gl.id])
end
put :update, id: kind.id, event_kind: { label: kind.label,
qualification_kinds: { participant: { prolongation: {
qualification_kind_ids: [gl.id] } } } }

it 'removes all associations from existing event kind' do
expect(kind.event_kind_qualification_kinds.count).to eq 4
assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 1
expect(assocs.pluck(:qualification_kind_id)).to match_array([gl.id])
end

put :update, id: kind.id, event_kind: { label: kind.label,
qualification_kinds: { participant: { prolongation: {
qualification_kind_ids: [] } } } }
it 'removes all associations from existing event kind' do
expect(kind.event_kind_qualification_kinds.count).to eq 4

assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 0
end
put :update, id: kind.id, event_kind: { label: kind.label,
qualification_kinds: { participant: { prolongation: {
qualification_kind_ids: [] } } } }

assocs = assigns(:kind).event_kind_qualification_kinds
expect(assocs.count).to eq 0
end
end

context 'when not signed in' do
it 'GET event kind arts to fill description' do
get :index, format: :json
expect(response.status).to eq(401)
end
end


end

0 comments on commit d3bd252

Please sign in to comment.