spec/spec_helper.rb in grape-app-0.8.7 vs spec/spec_helper.rb in grape-app-0.8.8

- old
+ new

@@ -1,70 +1,16 @@ ENV['RACK_ENV'] ||= 'test' require 'grape-app' require 'rack/test' -require 'virtus' +require 'active_record' -class Article - include Virtus.model - - class Scope - include Enumerable - - def maximum(*) - map(&:updated_at).max - end - - def each - yield Article.new(id: 1, title: 'Welcome', updated_at: Time.at(1515151510).utc, created_at: Time.at(1515151500).utc) - yield Article.new(id: 2, title: 'Bye', updated_at: Time.at(1515151520).utc, created_at: Time.at(1515151500).utc) - end +ActiveRecord::Base.configurations = { 'test' => { 'adapter' => 'sqlite3', 'database' => ':memory:' } } +ActiveRecord::Base.establish_connection :test +ActiveRecord::Base.connection.instance_eval do + create_table :articles do |t| + t.string :title + t.timestamps end - - def self.all - Scope.new - end - - attribute :id - attribute :title - attribute :updated_at - attribute :created_at - - def to_param - id.to_s - end end -class TestAPI < Grape::API - format :json - - helpers Grape::App::Helpers::Caching - helpers Grape::App::Helpers::Params - - get '/articles' do - scope = Article.all - opts = params[:public] ? { public: params[:public] } : {} - fresh_when(scope, **opts) - scope.map(&:to_hash) - end - - get '/articles/never_updated' do - article = Article.all.first - article.updated_at = nil - - fresh_when(article, last_modified_field: :created_at) - end - - get '/articles/:id' do - article = Article.all.first - article.to_hash if stale?(article, stale_if_error: 5, extras: { a: 1, b: 2 }) - end - - params do - requires :title - optional :fresh - end - post '/articles' do - attrs = { id: 9, updated_at: Time.at(1515151515).utc } - attrs.update(declared_params) - Article.new(attrs).to_hash - end +class Article < ActiveRecord::Base end