spec/utopia/controller/sequence_spec.rb in utopia-1.7.1 vs spec/utopia/controller/sequence_spec.rb in utopia-1.8.0
- old
+ new
@@ -24,28 +24,28 @@
require 'rack/test'
require 'utopia/controller'
module Utopia::Controller::SequenceSpec
class TestController < Utopia::Controller::Base
+ prepend Utopia::Controller::Actions
+
on 'success' do
- success!
+ succeed!
end
on :failure do
fail! 400
end
on :variable do |request, path|
@variable = :value
end
-
- def self.uri_path
- Utopia::Path["/"]
- end
end
class TestIndirectController < Utopia::Controller::Base
+ prepend Utopia::Controller::Actions
+
def initialize
@sequence = ""
end
on('user/update') do
@@ -69,69 +69,65 @@
end
on('*') do
@sequence << 'F'
end
-
- def self.uri_path
- Utopia::Path["/"]
- end
end
describe Utopia::Controller do
let(:variables) {Utopia::Controller::Variables.new}
it "should call controller methods" do
request = Rack::Request.new(Utopia::VARIABLES_KEY => variables)
controller = TestController.new
variables << controller
- result = controller.process!(request, Utopia::Path["/success"])
+ result = controller.process!(request, Utopia::Path["success"])
expect(result).to be == [200, {}, []]
- result = controller.process!(request, Utopia::Path["/foo/bar/failure"])
+ result = controller.process!(request, Utopia::Path["foo/bar/failure"])
expect(result).to be == [400, {}, ["Bad Request"]]
- result = controller.process!(request, Utopia::Path["/variable"])
+ result = controller.process!(request, Utopia::Path["variable"])
expect(result).to be == nil
expect(variables.to_hash).to be == {:variable => :value}
end
it "should call direct controller methods" do
request = Rack::Request.new(Utopia::VARIABLES_KEY => variables)
controller = TestIndirectController.new
variables << controller
- controller.process!(request, Utopia::Path["/user/update"])
+ controller.process!(request, Utopia::Path["user/update"])
expect(variables['sequence']).to be == 'EA'
end
it "should call indirect controller methods" do
request = Rack::Request.new(Utopia::VARIABLES_KEY => variables)
controller = TestIndirectController.new
variables << controller
- result = controller.process!(request, Utopia::Path["/foo/comment/post"])
+ result = controller.process!(request, Utopia::Path["foo/comment/post"])
expect(result).to be nil
expect(variables['sequence']).to be == 'EB'
end
it "should call multiple indirect controller methods in order" do
request = Rack::Request.new(Utopia::VARIABLES_KEY => variables)
controller = TestIndirectController.new
variables << controller
- result = controller.process!(request, Utopia::Path["/comment/delete"])
+ result = controller.process!(request, Utopia::Path["comment/delete"])
expect(result).to be nil
expect(variables['sequence']).to be == 'EDC'
end
it "should match single patterns" do
request = Rack::Request.new(Utopia::VARIABLES_KEY => variables)
controller = TestIndirectController.new
variables << controller
- result = controller.process!(request, Utopia::Path["/foo"])
+ result = controller.process!(request, Utopia::Path["foo"])
expect(result).to be nil
expect(variables['sequence']).to be == 'EF'
end
end
end