enju_event 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +36 -0
- data/app/controllers/calendar_controller.rb +34 -0
- data/app/controllers/event_categories_controller.rb +18 -0
- data/app/controllers/event_import_files_controller.rb +95 -0
- data/app/controllers/event_import_results_controller.rb +15 -0
- data/app/controllers/events_controller.rb +152 -0
- data/app/controllers/participates_controller.rb +81 -0
- data/app/helpers/calendar_helper.rb +31 -0
- data/app/models/event.rb +87 -0
- data/app/models/event_category.rb +23 -0
- data/app/models/event_import_file.rb +166 -0
- data/app/models/event_import_result.rb +23 -0
- data/app/models/participate.rb +25 -0
- data/app/views/calendar/index.html.erb +45 -0
- data/app/views/event_categories/_form.html.erb +19 -0
- data/app/views/event_categories/edit.html.erb +13 -0
- data/app/views/event_categories/index.html.erb +46 -0
- data/app/views/event_categories/new.html.erb +12 -0
- data/app/views/event_categories/show.html.erb +29 -0
- data/app/views/event_import_files/edit.html.erb +25 -0
- data/app/views/event_import_files/index.html.erb +40 -0
- data/app/views/event_import_files/new.html.erb +37 -0
- data/app/views/event_import_files/show.html.erb +64 -0
- data/app/views/event_import_results/index.csv.erb +3 -0
- data/app/views/event_import_results/index.html.erb +50 -0
- data/app/views/event_import_results/show.html.erb +33 -0
- data/app/views/events/_all_day.html.erb +24 -0
- data/app/views/events/_form.html.erb +44 -0
- data/app/views/events/edit.html.erb +14 -0
- data/app/views/events/index.atom.builder +10 -0
- data/app/views/events/index.csv.erb +4 -0
- data/app/views/events/index.html.erb +105 -0
- data/app/views/events/index.ics.erb +13 -0
- data/app/views/events/index.mobile.erb +49 -0
- data/app/views/events/index.rss.builder +34 -0
- data/app/views/events/new.html.erb +17 -0
- data/app/views/events/show.html.erb +50 -0
- data/app/views/events/show.mobile.erb +42 -0
- data/app/views/participates/edit.html.erb +28 -0
- data/app/views/participates/index.html.erb +30 -0
- data/app/views/participates/new.html.erb +27 -0
- data/app/views/participates/show.html.erb +24 -0
- data/config/routes.rb +10 -0
- data/db/fixtures/event_categories.yml +13 -0
- data/db/migrate/113_create_events.rb +23 -0
- data/db/migrate/114_create_event_categories.rb +16 -0
- data/db/migrate/20081028093607_create_event_import_files.rb +29 -0
- data/db/migrate/20090519203307_create_participates.rb +17 -0
- data/db/migrate/20100925074639_create_event_import_results.rb +15 -0
- data/lib/enju_event.rb +5 -0
- data/lib/enju_event/engine.rb +18 -0
- data/lib/enju_event/version.rb +3 -0
- data/lib/tasks/enju_event_tasks.rake +5 -0
- data/spec/controllers/event_categories_controller_spec.rb +483 -0
- data/spec/controllers/event_import_files_controller_spec.rb +321 -0
- data/spec/controllers/events_controller_spec.rb +506 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +9 -0
- data/spec/dummy/app/assets/stylesheets/application.css +7 -0
- data/spec/dummy/app/controllers/application_controller.rb +99 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/mailers/notifier.rb +28 -0
- data/spec/dummy/app/models/ability.rb +39 -0
- data/spec/dummy/app/models/language.rb +4 -0
- data/spec/dummy/app/models/library.rb +128 -0
- data/spec/dummy/app/models/library_group.rb +86 -0
- data/spec/dummy/app/models/patron.rb +163 -0
- data/spec/dummy/app/models/patron_type.rb +19 -0
- data/spec/dummy/app/models/role.rb +8 -0
- data/spec/dummy/app/models/shelf.rb +54 -0
- data/spec/dummy/app/models/user.rb +43 -0
- data/spec/dummy/app/models/user_group.rb +2 -0
- data/spec/dummy/app/models/user_has_role.rb +4 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/page/403.html.erb +9 -0
- data/spec/dummy/app/views/page/403.mobile.erb +5 -0
- data/spec/dummy/app/views/page/403.xml.erb +4 -0
- data/spec/dummy/app/views/page/404.html.erb +9 -0
- data/spec/dummy/app/views/page/404.mobile.erb +5 -0
- data/spec/dummy/app/views/page/404.xml.erb +4 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +45 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +30 -0
- data/spec/dummy/config/environments/production.rb +60 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/devise.rb +209 -0
- data/spec/dummy/config/initializers/inflections.rb +10 -0
- data/spec/dummy/config/initializers/mime_types.rb +7 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +60 -0
- data/spec/dummy/db/migrate/001_create_patrons.rb +62 -0
- data/spec/dummy/db/migrate/059_create_libraries.rb +34 -0
- data/spec/dummy/db/migrate/069_create_shelves.rb +19 -0
- data/spec/dummy/db/migrate/080_create_library_groups.rb +25 -0
- data/spec/dummy/db/migrate/20080905191442_create_patron_types.rb +16 -0
- data/spec/dummy/db/migrate/20081025083905_create_languages.rb +27 -0
- data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20100527113752_create_delayed_jobs.rb +21 -0
- data/spec/dummy/db/migrate/20110115022329_add_position_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20111020063828_remove_dsbl_from_library_group.rb +11 -0
- data/spec/dummy/db/migrate/20111201121844_create_roles.rb +12 -0
- data/spec/dummy/db/migrate/20111201155456_create_users.rb +14 -0
- data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +31 -0
- data/spec/dummy/db/migrate/20111201163342_create_user_groups.rb +12 -0
- data/spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb +10 -0
- data/spec/dummy/db/schema.rb +293 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/lib/enju_leaf.rb +4 -0
- data/spec/dummy/lib/enju_leaf/import_file.rb +13 -0
- data/spec/dummy/lib/enju_leaf/localized_name.rb +13 -0
- data/spec/dummy/lib/enju_leaf/master_model.rb +41 -0
- data/spec/dummy/lib/enju_leaf/url_validator.rb +10 -0
- data/spec/dummy/log/sunspot-solr-test.log +222 -0
- data/spec/dummy/log/test.log +145759 -0
- data/spec/dummy/private/system/event_imports/4/original/event_import_file_sample1.tsv +5 -0
- data/spec/dummy/private/system/event_imports/4/original/event_import_file_sample2.tsv +3 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +26 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/dummy/solr/conf/admin-extra.html +31 -0
- data/spec/dummy/solr/conf/elevate.xml +36 -0
- data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
- data/spec/dummy/solr/conf/protwords.txt +21 -0
- data/spec/dummy/solr/conf/schema.xml +238 -0
- data/spec/dummy/solr/conf/scripts.conf +24 -0
- data/spec/dummy/solr/conf/solrconfig.xml +934 -0
- data/spec/dummy/solr/conf/spellings.txt +2 -0
- data/spec/dummy/solr/conf/stopwords.txt +58 -0
- data/spec/dummy/solr/conf/synonyms.txt +31 -0
- data/spec/dummy/solr/data/test/index/segments.gen +0 -0
- data/spec/dummy/solr/data/test/index/segments_1 +0 -0
- data/spec/dummy/solr/data/test/spellchecker/segments.gen +0 -0
- data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
- data/spec/factories/event.rb +7 -0
- data/spec/factories/event_category.rb +5 -0
- data/spec/factories/library.rb +13 -0
- data/spec/factories/user.rb +34 -0
- data/spec/fixtures/event_categories.yml +55 -0
- data/spec/fixtures/event_import_files.yml +49 -0
- data/spec/fixtures/event_import_results.yml +24 -0
- data/spec/fixtures/events.yml +142 -0
- data/spec/fixtures/languages.yml +1901 -0
- data/spec/fixtures/libraries.yml +108 -0
- data/spec/fixtures/library_groups.yml +34 -0
- data/spec/fixtures/patron_types.yml +35 -0
- data/spec/fixtures/patrons.yml +338 -0
- data/spec/fixtures/roles.yml +21 -0
- data/spec/fixtures/shelves.yml +46 -0
- data/spec/fixtures/user_groups.yml +25 -0
- data/spec/fixtures/user_has_roles.yml +41 -0
- data/spec/fixtures/users.yml +69 -0
- data/spec/models/event_category_spec.rb +21 -0
- data/spec/models/event_import_file_spec.rb +62 -0
- data/spec/models/event_import_result_spec.rb +20 -0
- data/spec/models/event_spec.rb +39 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/support/controller_macros.rb +48 -0
- data/spec/support/devise.rb +4 -0
- metadata +541 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
require 'spec_helper'
|
|
3
|
+
|
|
4
|
+
describe EventImportFilesController do
|
|
5
|
+
fixtures :all
|
|
6
|
+
|
|
7
|
+
describe "GET index" do
|
|
8
|
+
describe "When logged in as Administrator" do
|
|
9
|
+
before(:each) do
|
|
10
|
+
sign_in FactoryGirl.create(:admin)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it "assigns all event_import_files as @event_import_files" do
|
|
14
|
+
get :index
|
|
15
|
+
assigns(:event_import_files).should eq(EventImportFile.page(1))
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
describe "When logged in as Librarian" do
|
|
20
|
+
before(:each) do
|
|
21
|
+
sign_in FactoryGirl.create(:librarian)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "assigns all event_import_files as @event_import_files" do
|
|
25
|
+
get :index
|
|
26
|
+
assigns(:event_import_files).should eq(EventImportFile.page(1))
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe "When logged in as User" do
|
|
31
|
+
before(:each) do
|
|
32
|
+
sign_in FactoryGirl.create(:user)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it "assigns empty as @event_import_files" do
|
|
36
|
+
get :index
|
|
37
|
+
assigns(:event_import_files).should be_empty
|
|
38
|
+
response.should be_forbidden
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe "When not logged in" do
|
|
43
|
+
it "assigns empty as @event_import_files" do
|
|
44
|
+
get :index
|
|
45
|
+
assigns(:event_import_files).should be_empty
|
|
46
|
+
response.should redirect_to(new_user_session_url)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
describe "GET show" do
|
|
52
|
+
describe "When logged in as Administrator" do
|
|
53
|
+
before(:each) do
|
|
54
|
+
sign_in FactoryGirl.create(:admin)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it "assigns the requested event_import_file as @event_import_file" do
|
|
58
|
+
get :show, :id => 1
|
|
59
|
+
assigns(:event_import_file).should eq(EventImportFile.find(1))
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
describe "When logged in as Librarian" do
|
|
64
|
+
before(:each) do
|
|
65
|
+
sign_in FactoryGirl.create(:librarian)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
it "assigns the requested event_import_file as @event_import_file" do
|
|
69
|
+
get :show, :id => 1
|
|
70
|
+
assigns(:event_import_file).should eq(EventImportFile.find(1))
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
describe "When logged in as User" do
|
|
75
|
+
before(:each) do
|
|
76
|
+
sign_in FactoryGirl.create(:user)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
it "assigns the requested event_import_file as @event_import_file" do
|
|
80
|
+
get :show, :id => 1
|
|
81
|
+
assigns(:event_import_file).should eq(EventImportFile.find(1))
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
describe "When not logged in" do
|
|
86
|
+
it "assigns the requested event_import_file as @event_import_file" do
|
|
87
|
+
get :show, :id => 1
|
|
88
|
+
assigns(:event_import_file).should eq(EventImportFile.find(1))
|
|
89
|
+
response.should redirect_to(new_user_session_url)
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
describe "GET new" do
|
|
95
|
+
describe "When logged in as Administrator" do
|
|
96
|
+
before(:each) do
|
|
97
|
+
sign_in FactoryGirl.create(:admin)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
it "assigns the requested event_import_file as @event_import_file" do
|
|
101
|
+
get :new
|
|
102
|
+
assigns(:event_import_file).should_not be_valid
|
|
103
|
+
response.should be_success
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
describe "When logged in as Librarian" do
|
|
108
|
+
before(:each) do
|
|
109
|
+
sign_in FactoryGirl.create(:librarian)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
it "should not assign the requested event_import_file as @event_import_file" do
|
|
113
|
+
get :new
|
|
114
|
+
assigns(:event_import_file).should_not be_valid
|
|
115
|
+
response.should be_success
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
describe "When logged in as User" do
|
|
120
|
+
before(:each) do
|
|
121
|
+
sign_in FactoryGirl.create(:user)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
it "should not assign the requested event_import_file as @event_import_file" do
|
|
125
|
+
get :new
|
|
126
|
+
assigns(:event_import_file).should_not be_valid
|
|
127
|
+
response.should be_forbidden
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
describe "When not logged in" do
|
|
132
|
+
it "should not assign the requested event_import_file as @event_import_file" do
|
|
133
|
+
get :new
|
|
134
|
+
assigns(:event_import_file).should_not be_valid
|
|
135
|
+
response.should redirect_to(new_user_session_url)
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
describe "POST create" do
|
|
141
|
+
describe "When logged in as Librarian" do
|
|
142
|
+
before(:each) do
|
|
143
|
+
@user = FactoryGirl.create(:librarian)
|
|
144
|
+
sign_in @user
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
it "should create event_import_file" do
|
|
148
|
+
post :create, :event_import_file => {:event_import => fixture_file_upload("/../../examples/event_import_file_sample1.tsv", 'text/csv') }
|
|
149
|
+
assigns(:event_import_file).should be_valid
|
|
150
|
+
assigns(:event_import_file).user.username.should eq @user.username
|
|
151
|
+
response.should redirect_to event_import_file_url(assigns(:event_import_file))
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
it "should import user" do
|
|
155
|
+
old_events_count = Event.count
|
|
156
|
+
post :create, :event_import_file => {:event_import => fixture_file_upload("/../../examples/event_import_file_sample2.tsv", 'text/csv') }
|
|
157
|
+
assigns(:event_import_file).import_start
|
|
158
|
+
Event.count.should eq old_events_count + 2
|
|
159
|
+
response.should redirect_to event_import_file_url(assigns(:event_import_file))
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
describe "When logged in as User" do
|
|
164
|
+
before(:each) do
|
|
165
|
+
@user = FactoryGirl.create(:user)
|
|
166
|
+
sign_in @user
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
it "should be forbidden" do
|
|
170
|
+
post :create, :event_import_file => {:event_import => fixture_file_upload("/../..//examples/event_import_file_sample1.tsv", 'text/csv') }
|
|
171
|
+
response.should be_forbidden
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
describe "When not logged in" do
|
|
176
|
+
it "should be redirect to new session url" do
|
|
177
|
+
post :create, :event_import_file => {:event_import => fixture_file_upload("/../../examples/event_import_file_sample1.tsv", 'text/csv') }
|
|
178
|
+
response.should redirect_to new_user_session_url
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
describe "GET edit" do
|
|
184
|
+
describe "When logged in as Administrator" do
|
|
185
|
+
before(:each) do
|
|
186
|
+
sign_in FactoryGirl.create(:admin)
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
it "assigns the requested event_import_file as @event_import_file" do
|
|
190
|
+
event_import_file = event_import_files(:event_import_file_00001)
|
|
191
|
+
get :edit, :id => event_import_file.id
|
|
192
|
+
assigns(:event_import_file).should eq(event_import_file)
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
describe "When logged in as Librarian" do
|
|
197
|
+
before(:each) do
|
|
198
|
+
sign_in FactoryGirl.create(:librarian)
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
it "assigns the requested event_import_file as @event_import_file" do
|
|
202
|
+
event_import_file = event_import_files(:event_import_file_00001)
|
|
203
|
+
get :edit, :id => event_import_file.id
|
|
204
|
+
assigns(:event_import_file).should eq(event_import_file)
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
describe "When logged in as User" do
|
|
209
|
+
before(:each) do
|
|
210
|
+
sign_in FactoryGirl.create(:user)
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
it "assigns the requested event_import_file as @event_import_file" do
|
|
214
|
+
event_import_file = event_import_files(:event_import_file_00001)
|
|
215
|
+
get :edit, :id => event_import_file.id
|
|
216
|
+
response.should be_forbidden
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
describe "When not logged in" do
|
|
221
|
+
it "should not assign the requested event_import_file as @event_import_file" do
|
|
222
|
+
event_import_file = event_import_files(:event_import_file_00001)
|
|
223
|
+
get :edit, :id => event_import_file.id
|
|
224
|
+
response.should redirect_to(new_user_session_url)
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
describe "PUT update" do
|
|
230
|
+
describe "When logged in as Librarian" do
|
|
231
|
+
before(:each) do
|
|
232
|
+
sign_in FactoryGirl.create(:librarian)
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
it "should update event_import_file" do
|
|
236
|
+
put :update, :id => event_import_files(:event_import_file_00003).id, :event_import_file => { }
|
|
237
|
+
response.should redirect_to event_import_file_url(assigns(:event_import_file))
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
describe "When logged in as User" do
|
|
242
|
+
before(:each) do
|
|
243
|
+
sign_in FactoryGirl.create(:user)
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
it "should not update event_import_file" do
|
|
247
|
+
put :update, :id => event_import_files(:event_import_file_00003).id, :event_import_file => { }
|
|
248
|
+
response.should be_forbidden
|
|
249
|
+
end
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
describe "When not logged in" do
|
|
253
|
+
it "should not update event_import_file" do
|
|
254
|
+
put :update, :id => event_import_files(:event_import_file_00003).id, :event_import_file => { }
|
|
255
|
+
response.should redirect_to new_user_session_url
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
describe "DELETE destroy" do
|
|
261
|
+
before(:each) do
|
|
262
|
+
@event_import_file = event_import_files(:event_import_file_00001)
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
describe "When logged in as Administrator" do
|
|
266
|
+
before(:each) do
|
|
267
|
+
sign_in FactoryGirl.create(:admin)
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
it "destroys the requested event_import_file" do
|
|
271
|
+
delete :destroy, :id => @event_import_file.id
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
it "redirects to the event_import_files list" do
|
|
275
|
+
delete :destroy, :id => @event_import_file.id
|
|
276
|
+
response.should redirect_to(event_import_files_url)
|
|
277
|
+
end
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
describe "When logged in as Librarian" do
|
|
281
|
+
before(:each) do
|
|
282
|
+
sign_in FactoryGirl.create(:librarian)
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
it "destroys the requested event_import_file" do
|
|
286
|
+
delete :destroy, :id => @event_import_file.id
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
it "redirects to the event_import_files list" do
|
|
290
|
+
delete :destroy, :id => @event_import_file.id
|
|
291
|
+
response.should redirect_to(event_import_files_url)
|
|
292
|
+
end
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
describe "When logged in as User" do
|
|
296
|
+
before(:each) do
|
|
297
|
+
sign_in FactoryGirl.create(:user)
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
it "destroys the requested event_import_file" do
|
|
301
|
+
delete :destroy, :id => @event_import_file.id
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
it "should be forbidden" do
|
|
305
|
+
delete :destroy, :id => @event_import_file.id
|
|
306
|
+
response.should be_forbidden
|
|
307
|
+
end
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
describe "When not logged in" do
|
|
311
|
+
it "destroys the requested event_import_file" do
|
|
312
|
+
delete :destroy, :id => @event_import_file.id
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
it "should be forbidden" do
|
|
316
|
+
delete :destroy, :id => @event_import_file.id
|
|
317
|
+
response.should redirect_to(new_user_session_url)
|
|
318
|
+
end
|
|
319
|
+
end
|
|
320
|
+
end
|
|
321
|
+
end
|
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe EventsController do
|
|
4
|
+
fixtures :all
|
|
5
|
+
|
|
6
|
+
describe "GET index", :solr => true do
|
|
7
|
+
before(:each) do
|
|
8
|
+
FactoryGirl.create(:event)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
describe "When logged in as Administrator" do
|
|
12
|
+
before(:each) do
|
|
13
|
+
sign_in FactoryGirl.create(:admin)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "assigns all events as @events" do
|
|
17
|
+
get :index
|
|
18
|
+
assigns(:events).should_not be_nil
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
describe "When logged in as Librarian" do
|
|
23
|
+
before(:each) do
|
|
24
|
+
sign_in FactoryGirl.create(:librarian)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it "assigns all events as @events" do
|
|
28
|
+
get :index
|
|
29
|
+
assigns(:events).should_not be_nil
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
describe "When logged in as User" do
|
|
34
|
+
before(:each) do
|
|
35
|
+
sign_in FactoryGirl.create(:user)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it "assigns all events as @events" do
|
|
39
|
+
get :index
|
|
40
|
+
assigns(:events).should_not be_nil
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
describe "When not logged in" do
|
|
45
|
+
it "assigns all events as @events" do
|
|
46
|
+
get :index
|
|
47
|
+
assigns(:events).should_not be_nil
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "assigns all events as @events in rss format" do
|
|
51
|
+
get :index, :format => 'rss'
|
|
52
|
+
assigns(:events).should_not be_nil
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
it "assigns all events as @events in ics format" do
|
|
56
|
+
get :index, :format => 'ics'
|
|
57
|
+
assigns(:events).should_not be_nil
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it "assigns all events as @events in csv format" do
|
|
61
|
+
get :index, :format => 'csv'
|
|
62
|
+
assigns(:events).should_not be_nil
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "should get index with library_id" do
|
|
66
|
+
get :index, :library_id => 'kamata'
|
|
67
|
+
response.should be_success
|
|
68
|
+
assigns(:library).should eq libraries(:library_00002)
|
|
69
|
+
assigns(:events).should_not be_nil
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
it "should get upcoming event index" do
|
|
73
|
+
get :index, :mode => 'upcoming'
|
|
74
|
+
response.should be_success
|
|
75
|
+
assigns(:events).should_not be_nil
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
it "should get past event index" do
|
|
79
|
+
get :index, :mode => 'past'
|
|
80
|
+
response.should be_success
|
|
81
|
+
assigns(:events).should_not be_nil
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
describe "GET show" do
|
|
87
|
+
describe "When logged in as Administrator" do
|
|
88
|
+
before(:each) do
|
|
89
|
+
sign_in FactoryGirl.create(:admin)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
it "assigns the requested event as @event" do
|
|
93
|
+
event = FactoryGirl.create(:event)
|
|
94
|
+
get :show, :id => event.id
|
|
95
|
+
assigns(:event).should eq(event)
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
describe "When logged in as Librarian" do
|
|
100
|
+
before(:each) do
|
|
101
|
+
sign_in FactoryGirl.create(:librarian)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
it "assigns the requested event as @event" do
|
|
105
|
+
event = FactoryGirl.create(:event)
|
|
106
|
+
get :show, :id => event.id
|
|
107
|
+
assigns(:event).should eq(event)
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
describe "When logged in as User" do
|
|
112
|
+
before(:each) do
|
|
113
|
+
sign_in FactoryGirl.create(:user)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
it "assigns the requested event as @event" do
|
|
117
|
+
event = FactoryGirl.create(:event)
|
|
118
|
+
get :show, :id => event.id
|
|
119
|
+
assigns(:event).should eq(event)
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
describe "When not logged in" do
|
|
124
|
+
it "assigns the requested event as @event" do
|
|
125
|
+
event = FactoryGirl.create(:event)
|
|
126
|
+
get :show, :id => event.id
|
|
127
|
+
assigns(:event).should eq(event)
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
describe "GET new" do
|
|
133
|
+
describe "When logged in as Administrator" do
|
|
134
|
+
before(:each) do
|
|
135
|
+
sign_in FactoryGirl.create(:admin)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
it "assigns the requested event as @event" do
|
|
139
|
+
get :new
|
|
140
|
+
assigns(:event).should_not be_valid
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
describe "When logged in as Librarian" do
|
|
145
|
+
before(:each) do
|
|
146
|
+
sign_in FactoryGirl.create(:librarian)
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
it "should not assign the requested event as @event" do
|
|
150
|
+
get :new
|
|
151
|
+
assigns(:event).should_not be_valid
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
describe "When logged in as User" do
|
|
156
|
+
before(:each) do
|
|
157
|
+
sign_in FactoryGirl.create(:user)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
it "should not assign the requested event as @event" do
|
|
161
|
+
get :new
|
|
162
|
+
assigns(:event).should_not be_valid
|
|
163
|
+
response.should be_forbidden
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
describe "When not logged in" do
|
|
168
|
+
it "should not assign the requested event as @event" do
|
|
169
|
+
get :new
|
|
170
|
+
assigns(:event).should_not be_valid
|
|
171
|
+
response.should redirect_to(new_user_session_url)
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
describe "GET edit" do
|
|
177
|
+
describe "When logged in as Administrator" do
|
|
178
|
+
before(:each) do
|
|
179
|
+
sign_in FactoryGirl.create(:admin)
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
it "assigns the requested event as @event" do
|
|
183
|
+
event = FactoryGirl.create(:event)
|
|
184
|
+
get :edit, :id => event.id
|
|
185
|
+
assigns(:event).should eq(event)
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
describe "When logged in as Librarian" do
|
|
190
|
+
before(:each) do
|
|
191
|
+
sign_in FactoryGirl.create(:librarian)
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
it "assigns the requested event as @event" do
|
|
195
|
+
event = FactoryGirl.create(:event)
|
|
196
|
+
get :edit, :id => event.id
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
describe "When logged in as User" do
|
|
201
|
+
before(:each) do
|
|
202
|
+
sign_in FactoryGirl.create(:user)
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
it "assigns the requested event as @event" do
|
|
206
|
+
event = FactoryGirl.create(:event)
|
|
207
|
+
get :edit, :id => event.id
|
|
208
|
+
response.should be_forbidden
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
describe "When not logged in" do
|
|
213
|
+
it "should not assign the requested event as @event" do
|
|
214
|
+
event = FactoryGirl.create(:event)
|
|
215
|
+
get :edit, :id => event.id
|
|
216
|
+
response.should redirect_to(new_user_session_url)
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
describe "POST create" do
|
|
222
|
+
before(:each) do
|
|
223
|
+
@attrs = FactoryGirl.attributes_for(:event)
|
|
224
|
+
@invalid_attrs = {:name => ''}
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
describe "When logged in as Administrator" do
|
|
228
|
+
before(:each) do
|
|
229
|
+
sign_in FactoryGirl.create(:admin)
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
describe "with valid params" do
|
|
233
|
+
it "assigns a newly created event as @event" do
|
|
234
|
+
post :create, :event => @attrs
|
|
235
|
+
assigns(:event).should be_valid
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
it "redirects to the created event" do
|
|
239
|
+
post :create, :event => @attrs
|
|
240
|
+
response.should redirect_to(assigns(:event))
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
describe "with invalid params" do
|
|
245
|
+
it "assigns a newly created but unsaved event as @event" do
|
|
246
|
+
post :create, :event => @invalid_attrs
|
|
247
|
+
assigns(:event).should_not be_valid
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
it "should be forbidden" do
|
|
251
|
+
post :create, :event => @invalid_attrs
|
|
252
|
+
response.should render_template("new")
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
describe "When logged in as Librarian" do
|
|
258
|
+
before(:each) do
|
|
259
|
+
sign_in FactoryGirl.create(:librarian)
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
describe "with valid params" do
|
|
263
|
+
it "assigns a newly created event as @event" do
|
|
264
|
+
post :create, :event => @attrs
|
|
265
|
+
assigns(:event).should be_valid
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
it "redirects to the created event" do
|
|
269
|
+
post :create, :event => @attrs
|
|
270
|
+
response.should redirect_to(assigns(:event))
|
|
271
|
+
end
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
describe "with invalid params" do
|
|
275
|
+
it "assigns a newly created but unsaved event as @event" do
|
|
276
|
+
post :create, :event => @invalid_attrs
|
|
277
|
+
assigns(:event).should_not be_valid
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
it "should be forbidden" do
|
|
281
|
+
post :create, :event => @invalid_attrs
|
|
282
|
+
response.should render_template("new")
|
|
283
|
+
end
|
|
284
|
+
end
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
describe "When logged in as User" do
|
|
288
|
+
before(:each) do
|
|
289
|
+
sign_in FactoryGirl.create(:user)
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
describe "with valid params" do
|
|
293
|
+
it "assigns a newly created event as @event" do
|
|
294
|
+
post :create, :event => @attrs
|
|
295
|
+
assigns(:event).should be_valid
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
it "should be forbidden" do
|
|
299
|
+
post :create, :event => @attrs
|
|
300
|
+
response.should be_forbidden
|
|
301
|
+
end
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
describe "with invalid params" do
|
|
305
|
+
it "assigns a newly created but unsaved event as @event" do
|
|
306
|
+
post :create, :event => @invalid_attrs
|
|
307
|
+
assigns(:event).should_not be_valid
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
it "should be forbidden" do
|
|
311
|
+
post :create, :event => @invalid_attrs
|
|
312
|
+
response.should be_forbidden
|
|
313
|
+
end
|
|
314
|
+
end
|
|
315
|
+
end
|
|
316
|
+
|
|
317
|
+
describe "When not logged in" do
|
|
318
|
+
describe "with valid params" do
|
|
319
|
+
it "assigns a newly created event as @event" do
|
|
320
|
+
post :create, :event => @attrs
|
|
321
|
+
assigns(:event).should be_valid
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
it "should be forbidden" do
|
|
325
|
+
post :create, :event => @attrs
|
|
326
|
+
response.should redirect_to(new_user_session_url)
|
|
327
|
+
end
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
describe "with invalid params" do
|
|
331
|
+
it "assigns a newly created but unsaved event as @event" do
|
|
332
|
+
post :create, :event => @invalid_attrs
|
|
333
|
+
assigns(:event).should_not be_valid
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
it "should be forbidden" do
|
|
337
|
+
post :create, :event => @invalid_attrs
|
|
338
|
+
response.should redirect_to(new_user_session_url)
|
|
339
|
+
end
|
|
340
|
+
end
|
|
341
|
+
end
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
describe "PUT update" do
|
|
345
|
+
before(:each) do
|
|
346
|
+
@event = FactoryGirl.create(:event)
|
|
347
|
+
@attrs = FactoryGirl.attributes_for(:event)
|
|
348
|
+
@invalid_attrs = {:name => ''}
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
describe "When logged in as Administrator" do
|
|
352
|
+
before(:each) do
|
|
353
|
+
sign_in FactoryGirl.create(:admin)
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
describe "with valid params" do
|
|
357
|
+
it "updates the requested event" do
|
|
358
|
+
put :update, :id => @event.id, :event => @attrs
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
it "assigns the requested event as @event" do
|
|
362
|
+
put :update, :id => @event.id, :event => @attrs
|
|
363
|
+
assigns(:event).should eq(@event)
|
|
364
|
+
end
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
describe "with invalid params" do
|
|
368
|
+
it "assigns the requested event as @event" do
|
|
369
|
+
put :update, :id => @event.id, :event => @invalid_attrs
|
|
370
|
+
response.should render_template("edit")
|
|
371
|
+
end
|
|
372
|
+
end
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
describe "When logged in as Librarian" do
|
|
376
|
+
before(:each) do
|
|
377
|
+
sign_in FactoryGirl.create(:librarian)
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
describe "with valid params" do
|
|
381
|
+
it "updates the requested event" do
|
|
382
|
+
put :update, :id => @event.id, :event => @attrs
|
|
383
|
+
end
|
|
384
|
+
|
|
385
|
+
it "assigns the requested event as @event" do
|
|
386
|
+
put :update, :id => @event.id, :event => @attrs
|
|
387
|
+
assigns(:event).should eq(@event)
|
|
388
|
+
end
|
|
389
|
+
end
|
|
390
|
+
|
|
391
|
+
describe "with invalid params" do
|
|
392
|
+
it "assigns the requested event as @event" do
|
|
393
|
+
put :update, :id => @event.id, :event => @invalid_attrs
|
|
394
|
+
response.should render_template("edit")
|
|
395
|
+
end
|
|
396
|
+
end
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
describe "When logged in as User" do
|
|
400
|
+
before(:each) do
|
|
401
|
+
sign_in FactoryGirl.create(:user)
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
describe "with valid params" do
|
|
405
|
+
it "updates the requested event" do
|
|
406
|
+
put :update, :id => @event.id, :event => @attrs
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
it "assigns the requested event as @event" do
|
|
410
|
+
put :update, :id => @event.id, :event => @attrs
|
|
411
|
+
assigns(:event).should eq(@event)
|
|
412
|
+
response.should be_forbidden
|
|
413
|
+
end
|
|
414
|
+
end
|
|
415
|
+
|
|
416
|
+
describe "with invalid params" do
|
|
417
|
+
it "assigns the requested event as @event" do
|
|
418
|
+
put :update, :id => @event.id, :event => @invalid_attrs
|
|
419
|
+
response.should be_forbidden
|
|
420
|
+
end
|
|
421
|
+
end
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
describe "When not logged in" do
|
|
425
|
+
describe "with valid params" do
|
|
426
|
+
it "updates the requested event" do
|
|
427
|
+
put :update, :id => @event.id, :event => @attrs
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
it "should be forbidden" do
|
|
431
|
+
put :update, :id => @event.id, :event => @attrs
|
|
432
|
+
response.should redirect_to(new_user_session_url)
|
|
433
|
+
end
|
|
434
|
+
end
|
|
435
|
+
|
|
436
|
+
describe "with invalid params" do
|
|
437
|
+
it "assigns the requested event as @event" do
|
|
438
|
+
put :update, :id => @event.id, :event => @invalid_attrs
|
|
439
|
+
response.should redirect_to(new_user_session_url)
|
|
440
|
+
end
|
|
441
|
+
end
|
|
442
|
+
end
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
describe "DELETE destroy" do
|
|
446
|
+
before(:each) do
|
|
447
|
+
@event = FactoryGirl.create(:event)
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
describe "When logged in as Administrator" do
|
|
451
|
+
before(:each) do
|
|
452
|
+
sign_in FactoryGirl.create(:admin)
|
|
453
|
+
end
|
|
454
|
+
|
|
455
|
+
it "destroys the requested event" do
|
|
456
|
+
delete :destroy, :id => @event.id
|
|
457
|
+
end
|
|
458
|
+
|
|
459
|
+
it "redirects to the events list" do
|
|
460
|
+
delete :destroy, :id => @event.id
|
|
461
|
+
response.should redirect_to(events_url)
|
|
462
|
+
end
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
describe "When logged in as Librarian" do
|
|
466
|
+
before(:each) do
|
|
467
|
+
sign_in FactoryGirl.create(:librarian)
|
|
468
|
+
end
|
|
469
|
+
|
|
470
|
+
it "destroys the requested event" do
|
|
471
|
+
delete :destroy, :id => @event.id
|
|
472
|
+
end
|
|
473
|
+
|
|
474
|
+
it "redirects to the events list" do
|
|
475
|
+
delete :destroy, :id => @event.id
|
|
476
|
+
response.should redirect_to(events_url)
|
|
477
|
+
end
|
|
478
|
+
end
|
|
479
|
+
|
|
480
|
+
describe "When logged in as User" do
|
|
481
|
+
before(:each) do
|
|
482
|
+
sign_in FactoryGirl.create(:user)
|
|
483
|
+
end
|
|
484
|
+
|
|
485
|
+
it "destroys the requested event" do
|
|
486
|
+
delete :destroy, :id => @event.id
|
|
487
|
+
end
|
|
488
|
+
|
|
489
|
+
it "should be forbidden" do
|
|
490
|
+
delete :destroy, :id => @event.id
|
|
491
|
+
response.should be_forbidden
|
|
492
|
+
end
|
|
493
|
+
end
|
|
494
|
+
|
|
495
|
+
describe "When not logged in" do
|
|
496
|
+
it "destroys the requested event" do
|
|
497
|
+
delete :destroy, :id => @event.id
|
|
498
|
+
end
|
|
499
|
+
|
|
500
|
+
it "should be forbidden" do
|
|
501
|
+
delete :destroy, :id => @event.id
|
|
502
|
+
response.should redirect_to(new_user_session_url)
|
|
503
|
+
end
|
|
504
|
+
end
|
|
505
|
+
end
|
|
506
|
+
end
|