Skip to content

Instantly share code, notes, and snippets.

@karmiclychee
Created June 16, 2013 18:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save karmiclychee/5792946 to your computer and use it in GitHub Desktop.
Save karmiclychee/5792946 to your computer and use it in GitHub Desktop.
First minitest
require 'test_helper'
class Api::Beta::UsersControllerTest < ActionController::TestCase
def setup
for i in 1..100 do
FactoryGirl.create(:user)
end
@user = FactoryGirl.create(:user)
end
test "create creates a new user" do
refute User.find_by_nickname "CreatedUser"
user_params = { nickname: "CreatedUser",
email: "email@email.com",
password: "password",
password_confirmation: "password"}
post :create, user: user_params, format: "json"
assert_response(:success, response.body)
assert User.find_by_nickname "CreatedUser"
end
test "index returns all users" do
get :index, user: {}, format: "json"
users_json = User.all.to_json
response_json = response.body
assert_response(:success, response.body)
assert_equal(users_json, response_json)
end
test "show returns specified user" do
get :show, id: @user.id, format: "json"
user_json = {user: @user.attributes}.to_json
response_json = response.body
assert_response(:success, response.body)
assert_equal(user_json, response_json)
end
test "update changes saved values" do
patch :update, id: @user.id, user: { nickname: "UpdatedUser" }, format: "json"
original_json = @user.attributes.to_json
database_json = User.find(@user.id).to_json
assert_response(:success, response.body)
get :show, id: @user.id, user: {}, format: "json"
response_json = response.body
assert_equal(database_json, response_json)
refute_equal(original_json, response_json)
end
test "destroy deletes a user" do
delete :destroy, id: @user.id, format: "json"
assert_response(:success, response.body)
refute User.all.include?(@user)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment