Created
October 16, 2012 01:08
-
-
Save mbhnyc/3896719 to your computer and use it in GitHub Desktop.
Sample test suite for an API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ENV["RAILS_ENV"] = "test" | |
require File.expand_path('../../config/environment', __FILE__) | |
require "minitest/autorun" | |
require "minitest/rails" | |
require "minitest/rails/capybara" | |
require "database_cleaner" | |
require "factory_girl" | |
require "carrierwave/test/matchers" | |
class MiniTest::Rails::ActiveSupport::TestCase | |
include FactoryGirl::Syntax::Methods | |
include CarrierWave::Test::Matchers | |
end | |
class MiniTest::Rails::ActionController::TestCase | |
include ActiveSupport::Testing::SetupAndTeardown | |
include Rails.application.routes.url_helpers | |
include Capybara::DSL | |
include Capybara::RSpecMatchers | |
end | |
MiniTest::Rails.override_testunit! | |
DatabaseCleaner.strategy = :truncation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "minitest_helper" | |
describe SessionsController do | |
# default_version 1 | |
before(:all) do | |
@users = create_list(:user, 2) | |
@session = create(:session, user: @users[0]) | |
@users.each { |u| u.generate_token } | |
@role = create(:role) | |
@project = create(:project, user: @users[0]) | |
end | |
it "should get index" do | |
get :index, {version: 1, token: @users[0].access_token } | |
assert_response :success | |
end | |
it "should get show" do | |
get :show, {version: 1, id: @session.id, token: @users[0].access_token } | |
assert_response :success | |
end | |
it "should get connections" do | |
@users[0].connect | |
@session.add_member(@users[0], @role) | |
get :connections, {version: 1, id: @session.id, token: @users[0].access_token } | |
assert_response :success | |
@users[0].disconnect | |
end | |
it "should be able to create" do | |
post :create, { version: 1, token: @users[0].access_token, session: { name: "test", project_id: @project.id, proposed_start_time: Time.now} } | |
assert_response :success | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment