test/unit/sinatra_app_tests.rb in deas-0.40.0 vs test/unit/sinatra_app_tests.rb in deas-0.41.0

- old
+ new

@@ -17,61 +17,56 @@ setup do @router = Deas::Router.new @router.get('/something', 'EmptyViewHandler') @router.validate! - @configuration = Deas::Server::Configuration.new.tap do |c| - c.env = 'staging' - c.root = 'path/to/somewhere' - c.dump_errors = true - c.method_override = false - c.sessions = false - c.show_exceptions = true - c.static = true - c.reload_templates = true - c.default_encoding = 'latin1' - c.router = @router - end - @sinatra_app = Deas::SinatraApp.new(@configuration) + @config = Deas::Server::Config.new + @config.router = @router + + @sinatra_app = Deas::SinatraApp.new(@config) end subject{ @sinatra_app } should "ensure its config is valid" do - assert @configuration.valid? + assert @config.valid? end should "be a kind of Sinatra::Base" do assert_equal Sinatra::Base, subject.superclass end - should "have it's configuration set based on the server configuration" do - subject.settings.tap do |settings| - assert_equal 'staging', settings.environment - assert_equal 'path/to/somewhere', settings.root.to_s - assert_equal 'path/to/somewhere/public', settings.public_folder.to_s - assert_equal 'path/to/somewhere/views', settings.views.to_s - assert_equal true, settings.dump_errors - assert_equal false, settings.method_override - assert_equal false, settings.sessions - assert_equal true, settings.static - assert_equal true, settings.reload_templates - assert_equal 'latin1', settings.default_encoding + should "have it's configuration set based on the server config" do + s = subject.settings - # settings that are set but can't be changed - assert_equal false, settings.logging - assert_equal false, settings.raise_errors - assert_equal false, settings.show_exceptions + assert_equal @config.env, s.environment + assert_equal @config.root, s.root + assert_equal @config.views_root, s.views + assert_equal @config.public_root, s.public_folder + assert_equal @config.default_encoding, s.default_encoding + assert_equal @config.dump_errors, s.dump_errors + assert_equal @config.method_override, s.method_override + assert_equal @config.reload_templates, s.reload_templates + assert_equal @config.sessions, s.sessions + assert_equal @config.static_files, s.static - exp = Deas::ServerData.new(@configuration.to_hash) - sd = settings.deas_server_data - assert_instance_of Deas::ServerData, sd - assert_instance_of exp.template_source.class, sd.template_source - assert_instance_of exp.logger.class, sd.logger - assert_equal exp.error_procs, sd.error_procs - assert_equal exp.router, sd.router + assert_equal false, s.raise_errors + assert_equal false, s.show_exceptions + assert_equal false, s.logging - assert_includes "application/json", settings.add_charset - end + exp = Deas::ServerData.new({ + :error_procs => @config.error_procs, + :logger => @config.logger, + :router => @config.router, + :template_source => @config.template_source + }) + sd = s.deas_server_data + assert_instance_of Deas::ServerData, sd + assert_instance_of exp.template_source.class, sd.template_source + assert_instance_of exp.logger.class, sd.logger + assert_equal exp.error_procs, sd.error_procs + assert_equal exp.router, sd.router + + assert_includes "application/json", s.add_charset end should "define Sinatra routes for every route in the configuration" do router_route = @router.routes.last sinatra_routes = subject.routes[router_route.method.to_s.upcase] || []