mirror of
https://github.com/projekteuler/projekteuler.git
synced 2025-12-10 08:46:41 +01:00
Add redirects, update test types
This commit is contained in:
parent
c69eb788ef
commit
b5697eff56
@ -7,7 +7,7 @@
|
|||||||
<%= link_to t('application.info'), about_info_path %>
|
<%= link_to t('application.info'), about_info_path %>
|
||||||
<%= link_to Problem.model_name.human(count: 2), problems_path %>
|
<%= link_to Problem.model_name.human(count: 2), problems_path %>
|
||||||
<% if admin_signed_in? %>
|
<% if admin_signed_in? %>
|
||||||
<%= link_to t('admin.dashboard.index.administration'), :admin %>
|
<%= link_to t('admin.dashboard.index.administration'), admin_dashboard_index_path %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= nav class: 'navbar-right' do %>
|
<%= nav class: 'navbar-right' do %>
|
||||||
|
|||||||
@ -3,16 +3,21 @@ Rails.application.routes.draw do
|
|||||||
get 'about/info'
|
get 'about/info'
|
||||||
get 'about/copyright'
|
get 'about/copyright'
|
||||||
get 'about/legal'
|
get 'about/legal'
|
||||||
|
|
||||||
get 'about/roman_numerals'
|
get 'about/roman_numerals'
|
||||||
|
|
||||||
devise_for :admins, skip: :registrations
|
get 'about=:page', to: redirect('/about/%{page}')
|
||||||
|
|
||||||
|
get 'problem=:id', to: redirect('/problems/%{id}')
|
||||||
|
|
||||||
resources :problems, only: [:index, :show] do
|
resources :problems, only: [:index, :show] do
|
||||||
resources :translations, only: [:new, :create]
|
resources :translations, only: [:new, :create]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
devise_for :admins, skip: :registrations
|
||||||
namespace :admin do
|
namespace :admin do
|
||||||
get '', to: 'dashboard#index', as: '/'
|
get '', to: 'dashboard#index', as: 'dashboard_index'
|
||||||
post '/update_problem_count', to: 'dashboard#update_problem_count'
|
post '/update_problem_count', to: 'dashboard#update_problem_count', as: 'dashboard_update_problem_count'
|
||||||
resources :translations, only: [:index, :show]
|
resources :translations, only: [:index, :show]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -26,4 +26,9 @@ class AboutControllerTest < ActionDispatch::IntegrationTest
|
|||||||
assert_response :success
|
assert_response :success
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "should redirect about pages" do
|
||||||
|
get '/about=roman_numerals'
|
||||||
|
assert_redirected_to about_roman_numerals_url
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,26 +1,26 @@
|
|||||||
require 'test_helper'
|
require 'test_helper'
|
||||||
|
|
||||||
class Admin::DashboardControllerTest < ActionController::TestCase
|
class Admin::DashboardControllerTest < ActionDispatch::IntegrationTest
|
||||||
include Devise::Test::ControllerHelpers
|
include Devise::Test::IntegrationHelpers
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
login
|
login
|
||||||
end
|
end
|
||||||
|
|
||||||
test "should get index" do
|
test "should get index" do
|
||||||
get :index
|
get admin_dashboard_index_url
|
||||||
assert_response :success
|
assert_response :success
|
||||||
end
|
end
|
||||||
|
|
||||||
test "should post new problem count" do
|
test "should post new problem count" do
|
||||||
post :update_problem_count, params: { problem_count: 15 }
|
post admin_dashboard_update_problem_count_url(problem_count: 15)
|
||||||
assert_redirected_to controller: 'admin/dashboard', action: 'index'
|
assert_redirected_to admin_dashboard_index_url
|
||||||
assert_equal 15, Problem.count
|
assert_equal 15, Problem.count
|
||||||
end
|
end
|
||||||
|
|
||||||
test "should fail incorrect problem count" do
|
test "should fail incorrect problem count" do
|
||||||
post :update_problem_count, params: { problem_count: 2 }
|
post admin_dashboard_update_problem_count_url(problem_count: 2)
|
||||||
assert_redirected_to controller: 'admin/dashboard', action: 'index'
|
assert_redirected_to admin_dashboard_index_url
|
||||||
assert_equal 3, Problem.count
|
assert_equal 3, Problem.count
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -1,20 +1,20 @@
|
|||||||
require 'test_helper'
|
require 'test_helper'
|
||||||
|
|
||||||
class Admin::TranslationsControllerTest < ActionController::TestCase
|
class Admin::TranslationsControllerTest < ActionDispatch::IntegrationTest
|
||||||
include Devise::Test::ControllerHelpers
|
include Devise::Test::IntegrationHelpers
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
login
|
login
|
||||||
@translation = translations(:translation_one)
|
@translation = translations(:translation_one)
|
||||||
end
|
end
|
||||||
test "should get index" do
|
test "should get index" do
|
||||||
get :index
|
get admin_translations_url
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_not_nil assigns(:translations)
|
assert_not_nil assigns(:translations)
|
||||||
end
|
end
|
||||||
|
|
||||||
test "should show translation" do
|
test "should show translation" do
|
||||||
get :show, params: { id: @translation }
|
get admin_translation_url(id: @translation)
|
||||||
assert_response :success
|
assert_response :success
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -1,21 +1,25 @@
|
|||||||
require 'test_helper'
|
require 'test_helper'
|
||||||
|
|
||||||
class ProblemsControllerTest < ActionController::TestCase
|
class ProblemsControllerTest < ActionDispatch::IntegrationTest
|
||||||
include Devise::Test::ControllerHelpers
|
|
||||||
|
|
||||||
test "should get index" do
|
test "should get index" do
|
||||||
get :index
|
get problems_url
|
||||||
assert_response :success
|
assert_response :success
|
||||||
end
|
end
|
||||||
|
|
||||||
test "should get show" do
|
test "should get show" do
|
||||||
get :show, params: { id: 1 }
|
get problem_url(id: 1)
|
||||||
assert_response :success
|
assert_response :success
|
||||||
end
|
end
|
||||||
|
|
||||||
test "should get untranslated problem" do
|
test "should get untranslated problem" do
|
||||||
get :show, params: { id: 3 }
|
get problem_url(id: 3)
|
||||||
assert_response :success
|
assert_response :success
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "should redirect to correct problem" do
|
||||||
|
get '/problem=2'
|
||||||
|
assert_redirected_to problem_path(id: 2)
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
require 'test_helper'
|
require 'test_helper'
|
||||||
|
|
||||||
class TranslationsControllerTest < ActionController::TestCase
|
class TranslationsControllerTest < ActionDispatch::IntegrationTest
|
||||||
include Devise::Test::ControllerHelpers
|
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
@update = {
|
@update = {
|
||||||
title: 'New title',
|
title: 'New title',
|
||||||
@ -15,18 +13,18 @@ class TranslationsControllerTest < ActionController::TestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "should get new for translated problem" do
|
test "should get new for translated problem" do
|
||||||
get :new, params: { problem_id: 1 }
|
get new_problem_translation_url(problem_id: 1)
|
||||||
assert_response :success
|
assert_response :success
|
||||||
end
|
end
|
||||||
|
|
||||||
test "should get new for untranslated problem" do
|
test "should get new for untranslated problem" do
|
||||||
get :new, params: { problem_id: 3 }
|
get new_problem_translation_url(problem_id: 3)
|
||||||
assert_response :success
|
assert_response :success
|
||||||
end
|
end
|
||||||
|
|
||||||
test "should create translation" do
|
test "should create translation" do
|
||||||
assert_difference('Translation.count') do
|
assert_difference('Translation.count') do
|
||||||
post :create, params: { problem_id: 1, translation: @update }
|
post problem_translations_url(problem_id: 1, translation: @update)
|
||||||
end
|
end
|
||||||
|
|
||||||
assert_redirected_to problem_path(id: 1)
|
assert_redirected_to problem_path(id: 1)
|
||||||
@ -34,7 +32,7 @@ class TranslationsControllerTest < ActionController::TestCase
|
|||||||
|
|
||||||
test "should not create incorrect translation" do
|
test "should not create incorrect translation" do
|
||||||
assert_no_difference('Translation.count') do
|
assert_no_difference('Translation.count') do
|
||||||
post :create, params: { problem_id: 1, translation: @incorrect }
|
post problem_translations_url(problem_id: 1, translation: @incorrect)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user