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

3 Commits

12 changed files with 111 additions and 13 deletions

View File

@@ -1 +1 @@
wrestlingdev wrestlingdev

View File

@@ -1 +1 @@
ruby-3.2.0 ruby-4.0.1

View File

@@ -1,6 +1,6 @@
source 'https://rubygems.org' source 'https://rubygems.org'
ruby '3.2.0' ruby '4.0.1'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '8.1.2' gem 'rails', '8.1.2'

View File

@@ -117,8 +117,9 @@ GEM
influxdb (~> 0.6, >= 0.6.4) influxdb (~> 0.6, >= 0.6.4)
railties (>= 5.0) railties (>= 5.0)
io-console (0.8.2) io-console (0.8.2)
irb (1.16.0) irb (1.17.0)
pp (>= 0.6.0) pp (>= 0.6.0)
prism (>= 1.3.0)
rdoc (>= 4.0.0) rdoc (>= 4.0.0)
reline (>= 0.4.2) reline (>= 0.4.2)
jbuilder (2.14.1) jbuilder (2.14.1)
@@ -377,7 +378,7 @@ DEPENDENCIES
tzinfo-data tzinfo-data
RUBY VERSION RUBY VERSION
ruby 3.2.0p0 ruby 4.0.1p0
BUNDLED WITH BUNDLED WITH
2.6.9 2.6.9

View File

@@ -7,7 +7,7 @@ This application is being created to run a wrestling tournament.
**Public Production Url:** [https://wrestlingdev.com](https://wrestlingdev.com) **Public Production Url:** [https://wrestlingdev.com](https://wrestlingdev.com)
**App Info** **App Info**
* Ruby 3.2.0 * Ruby 4.0.1
* Rails 8.1.2 * Rails 8.1.2
* DB MySQL/MariaDB * DB MySQL/MariaDB
* Solid Cache -> MySQL/MariaDB for html partial caching * Solid Cache -> MySQL/MariaDB for html partial caching

View File

@@ -1,9 +1,15 @@
module ApplicationHelper module ApplicationHelper
def hide_ads? def hide_ads?
return false unless controller_name == "schools" case controller_name
return false unless %w[show edit new].include?(action_name) when "schools"
action_name == "show" && (user_signed_in? || school_permission_key_present?)
user_signed_in? || school_permission_key_present? when "wrestlers"
%w[new edit].include?(action_name) && (user_signed_in? || school_permission_key_present?)
when "mats"
action_name == "show" && user_signed_in?
else
false
end
end end
def school_permission_key_present? def school_permission_key_present?

View File

@@ -57,6 +57,5 @@ module Wrestling
config.active_support.cache_format_version = 7.1 config.active_support.cache_format_version = 7.1
config.load_defaults 8.1 config.load_defaults 8.1
config.active_support.to_time_preserves_timezone = :zone
end end
end end

View File

@@ -1,4 +1,4 @@
FROM ruby:3.2.0 FROM ruby:4.0.1
# Accept build arguments for user/group IDs # Accept build arguments for user/group IDs
ARG USER_ID=1000 ARG USER_ID=1000

View File

@@ -1,4 +1,4 @@
FROM ruby:3.2.0-slim FROM ruby:4.0.1-slim
#HEALTHCHECK --start-period=60s CMD curl http://127.0.0.1/ #HEALTHCHECK --start-period=60s CMD curl http://127.0.0.1/
@@ -15,6 +15,8 @@ RUN apt-get -qq update --fix-missing \
libsqlite3-dev \ libsqlite3-dev \
wget \ wget \
default-libmysqlclient-dev \ default-libmysqlclient-dev \
libyaml-dev \
pkg-config \
nodejs \ nodejs \
tzdata \ tzdata \
git \ git \

View File

@@ -66,6 +66,15 @@ class MatsControllerTest < ActionController::TestCase
def redirect def redirect
assert_redirected_to '/static_pages/not_allowed' assert_redirected_to '/static_pages/not_allowed'
end end
def assert_ads_hidden
assert_no_match(/blocked_message/, response.body)
assert_no_match(/adsbygoogle/, response.body)
end
def assert_ads_visible
assert_match(/blocked_message/, response.body)
end
def no_matches def no_matches
assert_redirected_to "/tournaments/#{@tournament.id}/no_matches" assert_redirected_to "/tournaments/#{@tournament.id}/no_matches"
@@ -221,6 +230,13 @@ class MatsControllerTest < ActionController::TestCase
success success
end end
test "ads are hidden on mat show" do
sign_in_owner
show
success
assert_ads_hidden
end
test "redirect to mat show when posting a match from mat show" do test "redirect to mat show when posting a match from mat show" do
sign_in_owner sign_in_owner
post_match_update_from_mat_show post_match_update_from_mat_show

View File

@@ -60,6 +60,15 @@ class SchoolsControllerTest < ActionController::TestCase
assert_redirected_to '/static_pages/not_allowed' assert_redirected_to '/static_pages/not_allowed'
end end
def assert_ads_hidden
assert_no_match(/blocked_message/, response.body)
assert_no_match(/adsbygoogle/, response.body)
end
def assert_ads_visible
assert_match(/blocked_message/, response.body)
end
def baums_import def baums_import
baums_text = "***** 2019-01-09 13:36:50 ***** baums_text = "***** 2019-01-09 13:36:50 *****
Some School Some School
@@ -399,6 +408,27 @@ Some Guy
success success
end end
test "ads are hidden on school show when logged in" do
sign_in_owner
get_show
success
assert_ads_hidden
end
test "ads are hidden on school show with school permission key" do
@tournament.update(is_public: false)
get_show(school_permission_key: @school_permission_key)
success
assert_ads_hidden
end
test "ads are visible on school show for anonymous user without key" do
@tournament.update(is_public: true)
get_show
success
assert_ads_visible
end
test "non logged in user cannot edit school with invalid school_permission_key" do test "non logged in user cannot edit school with invalid school_permission_key" do
@tournament.update(is_public: false) @tournament.update(is_public: false)
get_edit(school_permission_key: "invalid-key") get_edit(school_permission_key: "invalid-key")

View File

@@ -56,6 +56,15 @@ class WrestlersControllerTest < ActionController::TestCase
assert_redirected_to '/static_pages/not_allowed' assert_redirected_to '/static_pages/not_allowed'
end end
def assert_ads_hidden
assert_no_match(/blocked_message/, response.body)
assert_no_match(/adsbygoogle/, response.body)
end
def assert_ads_visible
assert_match(/blocked_message/, response.body)
end
test "logged in tournament owner should get edit wrestler page" do test "logged in tournament owner should get edit wrestler page" do
sign_in_owner sign_in_owner
get_edit get_edit
@@ -305,4 +314,39 @@ class WrestlersControllerTest < ActionController::TestCase
assert_select "a[href=?]", school_path(@school), text: /Back to/ assert_select "a[href=?]", school_path(@school), text: /Back to/
end end
test "ads are hidden on wrestler new" do
sign_in_owner
new
success
assert_ads_hidden
end
test "ads are hidden on wrestler edit" do
sign_in_owner
get_edit
success
assert_ads_hidden
end
test "ads are hidden on wrestler new with school permission key" do
valid_key = @school.permission_key
get :new, params: { school: @school.id, school_permission_key: valid_key }
success
assert_ads_hidden
end
test "ads are hidden on wrestler edit with school permission key" do
valid_key = @school.permission_key
get :edit, params: { id: @wrestler.id, school_permission_key: valid_key }
success
assert_ads_hidden
end
test "ads are visible on wrestler show" do
sign_in_owner
get :show, params: { id: @wrestler.id }
success
assert_ads_visible
end
end end