diff options
| author | Kir | 2012-01-26 12:36:32 +0200 |
|---|---|---|
| committer | Kir | 2012-01-26 12:36:32 +0200 |
| commit | cf8f7b3ae751d61ac3e74728c006c492acd78de7 (patch) | |
| tree | 7204a5f198c833937cecd84f84c163c6ecce7457 | |
| parent | bac1756272bee288c5aa377e9a4692fb9382b10d (diff) | |
| download | inboxes-cf8f7b3ae751d61ac3e74728c006c492acd78de7.tar.bz2 | |
Added fake_app
| -rw-r--r-- | lib/inboxes.rb | 3 | ||||
| -rw-r--r-- | spec/fake_app.rb | 87 | ||||
| -rw-r--r-- | spec/spec_helper.rb | 29 |
3 files changed, 115 insertions, 4 deletions
diff --git a/lib/inboxes.rb b/lib/inboxes.rb index 57dc9a0..a8192dc 100644 --- a/lib/inboxes.rb +++ b/lib/inboxes.rb @@ -4,9 +4,7 @@ require "inboxes/ability" require "inboxes/engine" require "inboxes/active_record_extension" - module Inboxes - def self.configure(&block) yield @config ||= Inboxes::Configuration.new end @@ -31,5 +29,4 @@ module Inboxes # adding method inboxes for models ActiveRecord::Base.extend(Inboxes::ActiveRecordExtension) - end diff --git a/spec/fake_app.rb b/spec/fake_app.rb new file mode 100644 index 0000000..37df9e2 --- /dev/null +++ b/spec/fake_app.rb @@ -0,0 +1,87 @@ +require 'active_record' +require 'action_controller/railtie' +require 'action_view/railtie' + +# database +ActiveRecord::Base.configurations = {'test' => {:adapter => 'sqlite3', :database => ':memory:'}} +ActiveRecord::Base.establish_connection('test') + +# config +app = Class.new(Rails::Application) +app.config.secret_token = "3b7cd727ee24e8444053437c36cc66c4" +app.config.session_store :cookie_store, :key => "_myapp_session" +app.config.active_support.deprecation = :log +app.initialize! + +# routes +app.routes.draw do + devise_for :users +end + +# models +class User < ActiveRecord::Base + devise :database_authenticatable, :registerable, + :recoverable, :rememberable, :trackable, :validatable + attr_accessible :email, :password, :password_confirmation, :remember_me, :name + validates :name, :presence => true, :uniqueness => true + has_inboxes +end + +# controllers +class ApplicationController < ActionController::Base + before_filter :assign_unread_discussions + + private + + def assign_unread_discussions + @unread_discussions_count = Discussion.unread_for(current_user).count if user_signed_in? + end +end + +# helpers +Object.const_set(:ApplicationHelper, Module.new) + +#migrations +ActiveRecord::Base.silence do + ActiveRecord::Migration.verbose = false + ActiveRecord::Schema.define :version => 0 do + create_table "users", :force => true do |t| + t.string "email", :default => "", :null => false + t.string "encrypted_password", :limit => 128, :default => "", :null => false + t.string "reset_password_token" + t.datetime "reset_password_sent_at" + t.datetime "remember_created_at" + t.integer "sign_in_count", :default => 0 + t.datetime "current_sign_in_at" + t.datetime "last_sign_in_at" + t.string "current_sign_in_ip" + t.string "last_sign_in_ip" + t.datetime "created_at" + t.datetime "updated_at" + t.string "name" + end + + create_table "discussions", :force => true do |t| + t.integer "user_id" + t.integer "messages_count", :default => 0 + t.boolean "is_private", :default => true + t.datetime "created_at" + t.datetime "updated_at" + end + + create_table "messages", :force => true do |t| + t.integer "user_id" + t.integer "discussion_id" + t.text "body" + t.datetime "created_at" + t.datetime "updated_at" + end + + create_table "speakers", :force => true do |t| + t.integer "user_id" + t.integer "discussion_id" + t.datetime "created_at" + t.datetime "updated_at" + end + end +end
\ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 174ab57..a0e9366 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,2 +1,29 @@ -require 'inboxes' +$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) +$LOAD_PATH.unshift(File.dirname(__FILE__)) +require 'rails' +# require 'inboxes' +require 'devise' +# require 'database_cleaner' +# Ensure we use 'syck' instead of 'psych' in 1.9.2 +# RubyGems >= 1.5.0 uses 'psych' on 1.9.2, but +# Psych does not yet support YAML 1.1 merge keys. +# Merge keys is often used in mongoid.yml +# See: http://redmine.ruby-lang.org/issues/show/4300 +if RUBY_VERSION >= '1.9.2' + YAML::ENGINE.yamler = 'syck' +end +# require 'fake_gem' +require 'fake_app' +require 'rspec/rails' +# Requires supporting files with custom matchers and macros, etc, +# in ./support/ and its subdirectories. +Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f} + +RSpec.configure do |config| + config.mock_with :rr + config.before :all do +# ActiveRecord::Base.connection.execute 'CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255))' unless ActiveRecord::Base.connection.table_exists? 'users' + # CreateAllTables.up unless ActiveRecord::Base.connection.table_exists? 'users' + end +end
\ No newline at end of file |
