From 5d4c7971328a18a9f38745f88793468e70fa4db3 Mon Sep 17 00:00:00 2001 From: f Date: Fri, 12 Jul 2019 16:11:07 -0300 Subject: [PATCH] validar el nombre del sitio --- app/models/site.rb | 1 + test/models/site_test.rb | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/app/models/site.rb b/app/models/site.rb index d2e7d0b..da3838e 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -366,6 +366,7 @@ class Site < ApplicationRecord end end + # Elimina el directorio del sitio def remove_directories! FileUtils.rm_rf path end diff --git a/test/models/site_test.rb b/test/models/site_test.rb index 3cc695d..8d73a2b 100644 --- a/test/models/site_test.rb +++ b/test/models/site_test.rb @@ -3,6 +3,11 @@ require 'test_helper' class SiteTest < ActiveSupport::TestCase + # Asegurarse que el sitio se destruye al terminar de usarlo + teardown do + @site&.destroy + end + test 'se puede crear un sitio' do site = create :site @@ -14,12 +19,36 @@ class SiteTest < ActiveSupport::TestCase end test 'el nombre tiene que ser Ășnico' do - site = create :site - site2 = build :site, name: site.name + @site = create :site + site2 = build :site, name: @site.name assert_not site2.valid? end + test 'el nombre del sitio puede contener subdominios' do + site = build :site, name: 'hola.chau' + + assert site.valid? + end + + test 'el nombre del sitio no puede terminar con punto' do + site = build :site, name: 'hola.chau.' + + assert_not site.valid? + end + + test 'el nombre del sitio no puede contener wildcard' do + site = build :site, name: '*.chau' + + assert_not site.valid? + end + + test 'el nombre del sitio solo tiene letras, numeros y guiones' do + site = build :site, name: 'A_Z!' + + assert_not site.valid? + end + test 'al destruir un sitio se eliminan los archivos' do site = create :site assert site.destroy