1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-25 01:14:43 +00:00

Added tests for matches controller

This commit is contained in:
2015-10-29 07:53:47 -04:00
parent 208b716e56
commit d1437a56af
7 changed files with 83 additions and 8 deletions

View File

@@ -25,7 +25,7 @@ class MatchesController < ApplicationController
def update
respond_to do |format|
if @match.update(match_params)
format.html { redirect_to root_path, notice: 'Match was successfully updated.' }
format.html { redirect_to tournament_path(@match.tournament_id), notice: 'Match was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: 'edit' }
@@ -48,7 +48,7 @@ class MatchesController < ApplicationController
def check_access
if current_user != @match.tournament.user
redirect_to root_path
redirect_to '/static_pages/not_allowed'
end
end
end

View File

@@ -116,6 +116,10 @@ class StaticPagesController < ApplicationController
end
end
def not_allowed
end
private
def check_access
if params[:tournament]

View File

@@ -0,0 +1 @@
You do not have permissions to go there.

View File

@@ -36,7 +36,7 @@ Wrestling::Application.routes.draw do
get 'static_pages/generate_matches'
get 'static_pages/weigh_in'
post 'static_pages/weigh_in'
get 'static_pages/not_allowed'
# Example of regular route:
# get 'products/:id' => 'catalog#view'

View File

@@ -1,11 +1,75 @@
require 'test_helper'
class MatchesControllerTest < ActionController::TestCase
# setup do
# @match = matches(:one)
# end
include Devise::TestHelpers
test "the truth" do
setup do
@tournament = Tournament.find(1)
@tournament.generateMatchups
@match = @tournament.matches.first
end
def post_update
patch :update, id: @match.id, match: {w1: @match.w1, w2: @match.w2}
end
def get_edit
get :edit, id: @match.id
end
def sign_in_owner
sign_in users(:one)
end
def sign_in_non_owner
sign_in users(:two)
end
def success
assert_response :success
end
def redirect
assert_response :redirect
end
test "the truth" do
assert true
end
test "logged in tournament owner should get edit match page" do
sign_in_owner
get_edit
success
end
test "logged in user should not get edit match page if not owner" do
sign_in_non_owner
get_edit
redirect
end
test "non logged in user should not get edit match page" do
get_edit
redirect
end
test "non logged in user should get post update match" do
post_update
assert_redirected_to '/static_pages/not_allowed'
end
test "logged in user should not post update match if not owner" do
sign_in_non_owner
post_update
assert_redirected_to '/static_pages/not_allowed'
end
test "logged in tournament owner should post update match" do
sign_in_owner
post_update
assert_redirected_to tournament_path(@match.tournament_id)
end
end

View File

@@ -7,6 +7,6 @@ one:
director: Jacob Cody Wimer
director_email: jacob.wimer@gmail.com
tournament_type: Pool to bracket
user_id: 1

View File

@@ -9,3 +9,9 @@
# #
# two: {}
# # column: value
one:
email: test@test.com
id: 1
two:
email: test2@test.com
id: 2