Skip to content

Commit

Permalink
Added unit testing
Browse files Browse the repository at this point in the history
  • Loading branch information
julianguyen committed Apr 23, 2014
1 parent 0779800 commit a8591f3
Show file tree
Hide file tree
Showing 47 changed files with 120 additions and 518 deletions.
1 change: 1 addition & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--color
4 changes: 4 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ gem 'resque-scheduler'

gem 'resque_mailer'

gem "rspec-rails", :group => [:development, :test]

gem 'factory_girl_rails'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.0'
# Use sqlite3 as the database for Active Record
Expand Down
20 changes: 20 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,14 @@ GEM
railties (>= 3.2.6, < 5)
thread_safe (~> 0.1)
warden (~> 1.2.3)
diff-lcs (1.2.5)
erubis (2.7.0)
execjs (2.0.2)
factory_girl (4.4.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.4.1)
factory_girl (~> 4.4.0)
railties (>= 3.0.0)
hike (1.2.3)
i18n (0.6.9)
jbuilder (2.0.6)
Expand Down Expand Up @@ -104,6 +110,18 @@ GEM
rufus-scheduler (~> 2.0.24)
resque_mailer (2.2.6)
actionmailer (>= 3.0)
rspec-core (2.14.8)
rspec-expectations (2.14.5)
diff-lcs (>= 1.1.3, < 2.0)
rspec-mocks (2.14.6)
rspec-rails (2.14.2)
actionpack (>= 3.0)
activemodel (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 2.14.0)
rspec-expectations (~> 2.14.0)
rspec-mocks (~> 2.14.0)
rufus-scheduler (2.0.24)
tzinfo (>= 0.3.22)
sass (3.2.19)
Expand Down Expand Up @@ -154,13 +172,15 @@ PLATFORMS
DEPENDENCIES
coffee-rails (~> 4.0.0)
devise
factory_girl_rails
jbuilder (~> 2.0)
jquery-rails
protected_attributes
rails (= 4.1.0)
resque
resque-scheduler
resque_mailer
rspec-rails
sass-rails (~> 4.0.3)
sdoc (~> 0.4.0)
spring
Expand Down
29 changes: 29 additions & 0 deletions spec/factories.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
FactoryGirl.define do
factory :user do
firstname "Oprah"
lastname "Chang"
email "oprah.chang@example.com"
password "password"
end

factory :category do
name "Test Category"
description "Test Description"
end

factory :mood do
name "Test Mood"
description "Test Mood"
end

factory :trigger do
name "Test Trigger"
why "Test Why"
fix "Test fix"
end

factory :comment do
comment_type "trigger"
comment "Test Comment"
end
end
22 changes: 22 additions & 0 deletions spec/models/comment_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
require 'spec_helper'

describe Comment do
it "posts a valid comment" do
new_user = create(:user)
new_category = create(:category, userid: new_user.id)
new_mood = create(:mood, userid: new_user.id)
new_trigger = create(:trigger, userid: new_user.id, category: Array.new(new_category.id), mood: Array.new(new_mood.id))
new_comment = create(:comment, commented_on: new_trigger.id, comment_by: new_user.id)
expect(Comment.count).to eq(1)
end

it "posts an invalid comment" do
new_user = create(:user)
new_category = create(:category, userid: new_user.id)
new_mood = create(:mood, userid: new_user.id)
new_trigger = create(:trigger, userid: new_user.id, category: Array.new(new_category.id), mood: Array.new(new_mood.id))
new_comment = build(:comment, commented_on: new_trigger.id)

new_comment.should have(1).error_on(:comment_by)
end
end
44 changes: 44 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'

# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }

# Checks for pending migrations before tests are run.
# If you are not using ActiveRecord, you can remove this line.
ActiveRecord::Migration.maintain_test_schema!

RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods

# ## Mock Framework
#
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
#
# config.mock_with :mocha
# config.mock_with :flexmock
# config.mock_with :rr

# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
config.fixture_path = "#{::Rails.root}/spec/fixtures"

# If you're not using ActiveRecord, or you'd prefer not to run each of your
# examples within a transaction, remove the following line or assign false
# instead of true.
config.use_transactional_fixtures = true

# If true, the base class of anonymous controllers will be inferred
# automatically. This will be the default behavior in future versions of
# rspec-rails.
config.infer_base_class_for_anonymous_controllers = false

# Run specs in random order to surface order dependencies. If you find an
# order dependency and want to debug it, you can fix the order by providing
# the seed, which is printed after each run.
# --seed 1234
config.order = "random"
end
Empty file removed test/controllers/.keep
Empty file.
49 changes: 0 additions & 49 deletions test/controllers/alerts_controller_test.rb

This file was deleted.

49 changes: 0 additions & 49 deletions test/controllers/allies_controller_test.rb

This file was deleted.

49 changes: 0 additions & 49 deletions test/controllers/categories_controller_test.rb

This file was deleted.

49 changes: 0 additions & 49 deletions test/controllers/medications_controller_test.rb

This file was deleted.

Loading

0 comments on commit a8591f3

Please sign in to comment.