aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers
diff options
context:
space:
mode:
authorZog2018-03-08 11:46:20 +0100
committerZog2018-03-12 12:00:14 +0100
commita4a075f5eec935dd6a0dbf0a861b6ada13b1dcbc (patch)
treeb046d69937ce998d918a7a4bf5a3e2e418961fa1 /spec/controllers
parentdb15dc6158939d2577ccd53aac66a283ce4f3338 (diff)
downloadchouette-core-a4a075f5eec935dd6a0dbf0a861b6ada13b1dcbc.tar.bz2
Refs #6133; Add options on the Exports, and forward them tu the UX
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/exports_controller_spec.rb65
1 files changed, 56 insertions, 9 deletions
diff --git a/spec/controllers/exports_controller_spec.rb b/spec/controllers/exports_controller_spec.rb
index a1a40d571..a070cfb1f 100644
--- a/spec/controllers/exports_controller_spec.rb
+++ b/spec/controllers/exports_controller_spec.rb
@@ -18,15 +18,62 @@ RSpec.describe ExportsController, :type => :controller do
end
describe "POST #create" do
- it "displays a flash message" do
- post :create, workbench_id: workbench.id,
- export: {
- name: 'Offre'
- }
-
- expect(controller).to set_flash[:notice].to(
- I18n.t('flash.exports.create.notice')
- )
+ let(:params){ {name: "foo"} }
+ let(:request){ post :create, workbench_id: workbench.id, export: params }
+ it 'should create no objects' do
+ expect{request}.to_not change{Export::Base.count}
+ end
+
+ context "with full params" do
+ let(:params){{
+ name: "foo",
+ type: "Export::Netex"
+ }}
+
+ it 'should be successful' do
+ expect{request}.to change{Export::Base.count}.by(1)
+ end
+
+ it "displays a flash message" do
+ request
+ expect(controller).to set_flash[:notice].to(
+ I18n.t('flash.exports.create.notice')
+ )
+ end
+ end
+
+ context "with missing options" do
+ let(:params){{
+ name: "foo",
+ type: "Export::Workbench"
+ }}
+
+ it 'should be unsuccessful' do
+ expect{request}.to change{Export::Base.count}.by(0)
+ end
+ end
+
+ context "with all options" do
+ let(:params){{
+ name: "foo",
+ type: "Export::Workbench",
+ timelapse: 90
+ }}
+
+ it 'should be successful' do
+ expect{request}.to change{Export::Base.count}.by(1)
+ end
+ end
+
+ context "with wrong type" do
+ let(:params){{
+ name: "foo",
+ type: "Export::Foo"
+ }}
+
+ it 'should be unsuccessful' do
+ expect{request}.to raise_error ActiveRecord::SubclassNotFound
+ end
end
end
end