Skip to content
Snippets Groups Projects
Unverified Commit da315dc7 authored by Sébastien Gaya's avatar Sébastien Gaya Committed by GitHub
Browse files

Merge pull request #752 from noesya/feature/tests-2

Deuxième vague de tests
parents ca10c0c8 18149bad
No related branches found
No related tags found
No related merge requests found
Showing with 222 additions and 10 deletions
......@@ -38,7 +38,7 @@
<% content_for :action_bar_right do %>
<%= link_to t('resave'),
server_resave_block_path(@template),
resave_server_block_path(@template),
method: :post,
class: button_classes %>
<% end %>
......@@ -2,12 +2,10 @@ namespace :server do
resources :universities
resources :languages
resources :websites, only: :index do
member do
post :refresh
end
post :refresh, on: :member
end
resources :blocks, only: [:index, :show] do
post :resave, on: :member
end
get 'blocks' => 'blocks#index', as: :blocks
get 'blocks/:id' => 'blocks#show', as: :block
post 'blocks/:id' => 'blocks#resave', as: :resave_block
root to: 'dashboard#index'
end
......@@ -2,18 +2,19 @@ require "test_helper"
class Extranet::HomeControllerTest < ActionDispatch::IntegrationTest
def test_index_unknown_context
host! "example.com"
get(root_path)
assert_response(:forbidden)
end
def test_index_unauthenticated
host! "extranet.osuny.test"
host! default_extranet.host
get(root_path)
assert_redirected_to(new_user_session_path)
end
def test_index
host! "extranet.osuny.test"
host! default_extranet.host
sign_in_with_2fa(alumnus)
get(root_path)
assert_response(:success)
......
require "test_helper"
class Server::BlocksControllerTest < ActionDispatch::IntegrationTest
include ServerSetup
def test_index
get server_blocks_path
assert_response(:success)
end
def test_show
get(server_block_path("chapter"))
assert_response(:success)
end
def test_resave
post(resave_server_block_path("chapter"))
assert_redirected_to(server_block_path("chapter"))
end
end
require "test_helper"
class Server::DashboardControllerTest < ActionDispatch::IntegrationTest
include ServerSetup
def test_index
get server_root_path
assert_response(:success)
end
end
require "test_helper"
class Server::LanguagesControllerTest < ActionDispatch::IntegrationTest
include ServerSetup
def test_index
get server_languages_path
assert_response(:success)
end
def test_show
get server_language_path(languages(:fr))
assert_response(:success)
end
def test_new
get new_server_language_path
assert_response(:success)
end
def test_edit
get edit_server_language_path(languages(:fr))
assert_response(:success)
end
def test_create
assert_difference("Language.count") do
post server_languages_path, params: {
language: {
name: "Español",
iso_code: "es"
}
}
language = Language.find_by(iso_code: "es")
assert_redirected_to(server_language_path(language))
end
end
def test_create_invalid
assert_no_difference("Language.count") do
post server_languages_path, params: {
language: {
name: "Français",
iso_code: "fr"
}
}
assert_response(:unprocessable_entity)
end
end
def test_update
language = languages(:fr)
assert(language.summernote_locale.blank?)
patch server_language_path(language), params: { language: { summernote_locale: "fr-FR" } }
assert_redirected_to(server_language_path(language))
assert_equal "fr-FR", language.reload.summernote_locale
end
def test_update_invalid
language = languages(:fr)
patch server_language_path(language), params: { language: { iso_code: "" } }
assert_response(:unprocessable_entity)
end
def test_destroy
assert_difference("Language.count", -1) do
delete server_language_path(languages(:it))
assert_redirected_to(server_languages_path)
end
end
end
require "test_helper"
class Server::UniversitiesControllerTest < ActionDispatch::IntegrationTest
include ServerSetup
def test_index
get server_universities_path
assert_response(:success)
end
def test_show
get server_university_path(universities(:default_university))
assert_response(:success)
end
def test_new
get new_server_university_path
assert_response(:success)
end
def test_edit
get edit_server_university_path(universities(:default_university))
assert_response(:success)
end
def test_create
assert_difference("University.count") do
post server_universities_path, params: {
university: {
name: "Nouvelle université",
identifier: "my-second-university",
sms_sender_name: "unitest2"
}
}
university = University.find_by(identifier: "my-second-university")
assert_redirected_to(server_university_path(university))
end
end
def test_create_invalid
assert_no_difference("University.count") do
post server_universities_path, params: {
university: {
name: "Nouvelle université",
sms_sender_name: "unitest2"
}
}
assert_response(:unprocessable_entity)
end
end
def test_update
university = universities(:default_university)
assert_equal "Université de test", university.name
patch server_university_path(university), params: { university: { name: "Mon université" } }
assert_redirected_to(server_university_path(university))
assert_equal "Mon université", university.reload.name
end
def test_update_invalid
university = universities(:default_university)
patch server_university_path(university), params: { university: { identifier: "" } }
assert_response(:unprocessable_entity)
end
def test_destroy
assert_difference("University.count", -1) do
# TODO: Replace by default university with correct dependent: :destroy associations
delete server_university_path(universities(:stale_university))
assert_redirected_to(server_universities_path)
end
end
end
require "test_helper"
class Server::WebsitesControllerTest < ActionDispatch::IntegrationTest
include ServerSetup
def test_index
get server_websites_path
assert_response(:success)
end
def test_refresh
post(refresh_server_website_path(communication_websites(:website_with_github)))
assert_redirected_to(server_websites_path)
end
end
......@@ -16,3 +16,7 @@ en:
fr:
name: Français
iso_code: fr
it:
name: Italiano
iso_code: it
......@@ -29,3 +29,9 @@
default_university:
name: Université de test
identifier: my-university
sms_sender_name: "unitest"
stale_university:
name: Université obsolète
identifier: stale-university
sms_sender_name: "unistale"
\ No newline at end of file
module ExtranetSetup
def setup
host! "extranet.osuny.test"
host! default_extranet.host
sign_in_with_2fa(alumnus)
end
end
\ No newline at end of file
module ServerSetup
def setup
sign_in_with_2fa(server_admin)
end
end
\ No newline at end of file
......@@ -15,6 +15,15 @@ class ActiveSupport::TestCase
setup do
ENV.update(ENV.to_h.merge('APPLICATION_ENV' => 'test'))
try(:host!, default_university.host)
end
def default_university
@default_university ||= universities(:default_university)
end
def default_extranet
@default_extranet ||= communication_extranets(:default_extranet)
end
def alumnus
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment