aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinhui2017-04-27 16:01:49 +0200
committerXinhui2017-04-27 16:01:53 +0200
commitb7651ff972af8e0e2729d99baa8db51dc5ec25dc (patch)
tree5289edece9d0966d915a31e2f2778dc8712a42aa
parent45bb5aa08bf914f22f8c2ea549a2217310072556 (diff)
downloadchouette-core-b7651ff972af8e0e2729d99baa8db51dc5ec25dc.tar.bz2
Wip TimeTables#update save tags
Refs #2899
-rw-r--r--app/models/chouette/time_table.rb1
-rw-r--r--spec/models/chouette/time_table_spec.rb18
2 files changed, 19 insertions, 0 deletions
diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb
index 319abfa47..7285e9716 100644
--- a/app/models/chouette/time_table.rb
+++ b/app/models/chouette/time_table.rb
@@ -34,6 +34,7 @@ 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(', ')
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 1117eecc0..96f91aa03 100644
--- a/spec/models/chouette/time_table_spec.rb
+++ b/spec/models/chouette/time_table_spec.rb
@@ -13,10 +13,28 @@ describe Chouette::TimeTable, :type => :model do
item['day_types'] = "Di,Lu,Ma,Me,Je,Ve,Sa"
item['current_month'] = time_table.month_inspect(Date.today.beginning_of_month)
item['current_periode_range'] = Date.today.beginning_of_month.to_s
+ item['tags'] = time_table.tags.map{ |tag| {id: tag.id, name: tag.name}}
end
end
let(:state) { time_table_to_state subject }
+ it 'should save new tags' do
+ subject.tag_list = "awesome, great"
+ subject.save
+ state['tags'] << {'id' => false, 'name' => 'new_tag'}
+
+ subject.state_update state
+ expect(subject.reload.tags.map(&:name)).to include('new_tag')
+ end
+
+ it 'should remove removed tags' do
+ subject.tag_list = "awesome, great"
+ subject.save
+ state['tags'] = []
+
+ subject.state_update state
+ expect(subject.reload.tags).to be_empty
+ end
it 'should update comment' do
state['comment'] = "Edited timetable name"