1
0
Fork 0

Add some very basic testing on alerts.

This commit is contained in:
Andrew Tomaka 2013-07-19 01:16:54 -04:00
commit e33c812a4b
6 changed files with 75 additions and 19 deletions

View File

@ -30,7 +30,7 @@ class Alert < ActiveRecord::Base
}
def alerted?
@alerted
self.alerted
end
def course_name

View File

@ -2,12 +2,25 @@
one:
user_id: 1
department: MyString
course: MyString
department: CSE
course: 101
alerted: false
semester: US13
sections: [1, 2, 3]
two:
user_id: 1
department: MyString
course: MyString
department: IAH
course: 241A
alerted: true
semester: FS13
sections: [3, 6, 9]
three:
user_id: 2
department: TES
course: 312
alerted: false
semester: SS14
sections: [5, 6, 11]

View File

@ -1,11 +1,7 @@
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
one:
id: 1
two:
id: 2
# This model initially had no columns defined. If you add columns to the
# model remove the '{}' from the fixture names and add the columns immediately
# below each fixture, per the syntax in the comments below
#
one: {}
# column: value
#
two: {}
# column: value

View File

@ -3,6 +3,10 @@ require 'test_helper'
class AlertsControllerTest < ActionController::TestCase
setup do
@alert = alerts(:one)
@user = users(:one)
sign_in :user, @user
end
test "should get index" do
@ -18,7 +22,12 @@ class AlertsControllerTest < ActionController::TestCase
test "should create alert" do
assert_difference('Alert.count') do
post :create, alert: { alerted: @alert.alerted, course: @alert.course, department: @alert.department, user_id: @alert.user_id }
post :create, alert: {
course: @alert.course,
department: @alert.department,
semester: @alert.semester,
sections: @alert.sections
}
end
assert_redirected_to alert_path(assigns(:alert))
@ -35,7 +44,12 @@ class AlertsControllerTest < ActionController::TestCase
end
test "should update alert" do
put :update, id: @alert, alert: { alerted: @alert.alerted, course: @alert.course, department: @alert.department, user_id: @alert.user_id }
put :update, id: @alert, alert: {
course: @alert.course,
department: @alert.department,
semester: @alert.semester,
sections: @alert.sections
}
assert_redirected_to alert_path(assigns(:alert))
end

View File

@ -11,3 +11,8 @@ class ActiveSupport::TestCase
# Add more helper methods to be used by all tests here...
end
class ActionController::TestCase
include Devise::TestHelpers
end

View File

@ -1,7 +1,35 @@
require 'test_helper'
class AlertTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
def setup
@alert_one = alerts(:one)
@alert_two = alerts(:two)
@alert_three = alerts(:three)
@user_one = users(:one)
end
test "should create a new alert" do
assert_kind_of Alert, Alert.new
end
test "should return false if has not been alerted" do
assert !@alert_one.alerted?
end
test "should return true if has been alerted" do
assert @alert_two.alerted?
end
test "should return alerts for user when asked" do
assert !Alert.user_alerts(@user_one).empty?
end
test "should only return alerts for correct user when asked" do
assert Alert.user_alerts(@user_one).all? { |a| a.user_id == @user_one.id }
end
test "should return the full course name" do
assert_equal @alert_one.course_name, "CSE 101"
end
end