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