diff options
| -rw-r--r-- | app/models/chouette/time_table.rb | 3 | ||||
| -rw-r--r-- | spec/models/chouette/time_table_spec.rb | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb index eacc5c827..42879c6d5 100644 --- a/app/models/chouette/time_table.rb +++ b/app/models/chouette/time_table.rb @@ -64,7 +64,8 @@ class Chouette::TimeTable < Chouette::TridentActiveRecord def state_update state update_attributes(self.class.state_permited_attributes(state)) - self.tag_list = state['tags'].collect{|t| t['name']}.join(', ') + self.tag_list = state['tags'].collect{|t| t['name']}.join(', ') + self.calendar_id = nil unless state['calendar'] days = state['day_types'].split(',') Date::DAYNAMES.map(&:underscore).each do |name| diff --git a/spec/models/chouette/time_table_spec.rb b/spec/models/chouette/time_table_spec.rb index 505ca12be..3d45bd346 100644 --- a/spec/models/chouette/time_table_spec.rb +++ b/spec/models/chouette/time_table_spec.rb @@ -51,6 +51,15 @@ describe Chouette::TimeTable, :type => :model do }.to change {subject.periods.count}.by(-1) end + it 'should update caldendar association' do + subject.calendar = create(:calendar) + subject.save + state['calendar'] = nil + + subject.state_update state + expect(subject.reload.calendar).to eq(nil) + end + it 'should update color' do state['color'] = '#FFA070' subject.state_update state |
