by
486 16
0
6
11k
2
Top 1% !
Popular
Pearl of Wisdom
Specified
OpenSource
MultiPlatform
Popularity: 381st place
Created
Modified Aug 27, 2015
No tags for this snippet yet.
Languageruby

TEST: xxx_test.rb

Unit Testing
Copy Embed Code
<iframe id="embedFrame" style="width:600px; height:300px;"
src="https://www.snip2code.com/Embed/611319/TEST--xxx_test-rb?startLine=0"></iframe>
Click on the embed code to copy it into your clipboard Width Height
Leave empty to retrieve all the content Start End
require 'test_helper' class NombreDeTablaEnSingularTest < ActiveSupport::TestCase setup do @root = users :admin @usr = users :user @caracteres_minimo = @caracteres_maximo = @palabra = '' @datos_1char = { forma_de_pago: 'a', solo_root_ns: false, usuario_actual: @usr } @datos_blanco = { forma_de_pago: '', solo_root_ns: false, usuario_actual: @usr } @datos_blanco_ambos = { forma_de_pago: " #{@palabra} ", solo_root_ns: false, usuario_actual: @usr } @datos_blanco_final = { forma_de_pago: "#{@palabra} ", solo_root_ns: false, usuario_actual: @usr } @datos_blanco_inicial = { forma_de_pago: " #{@palabra}", solo_root_ns: false, usuario_actual: @usr } @datos_excedido = { forma_de_pago: 'a'*@caracteres_maximo*2, solo_root_ns: false, usuario_actual: @usr } @datos_maximo = { forma_de_pago: 'a'*@caracteres_maximo, solo_root_ns: false, usuario_actual: @usr } @datos_minimo = { forma_de_pago: 'a'*@caracteres_minimo, solo_root_ns: false, usuario_actual: @usr } @datos_minusculas = { forma_de_pago: @palabra.upcase, solo_root_ns: false, usuario_actual: @usr } @datos_nulo = { forma_de_pago: nil, solo_root_ns: false, usuario_actual: @usr } @datos_root = { forma_de_pago: 'segundo', solo_root_ns: true, usuario_actual: @root } @datos_user = { forma_de_pago: 'valor', solo_root_ns: false } @duplicado = { forma_de_pago: '', solo_root_ns: false, usuario_actual: @usr } end # +-------------------------+ # | Pruebas para New/Create | # +-------------------------+ test 'Prueba #XXX-U-001: Probando la creación de ______ [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_user assert tut.valid?, tut.errors.messages.to_yaml end test 'Prueba #XXX-U-002: Probando que no guarde ______ en blanco [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_blanco refute tut.valid?, 'Se guardó en blanco' end test 'Prueba #XXX-U-003: Probando que no guarde ______ nil [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_nulo refute tut.valid?, 'Se guardó siendo nil' end test 'Prueba #XXX-U-004: Probando que no guarde ______ menores al mínimo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_1char refute tut.valid?, 'Se guardó siendo menor al mínimo de caracteres' end test 'Prueba #XXX-U-005: Probando que guarde ______ igual al mínimo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_minimo assert tut.valid?, 'No se guardo palabra igual al mínimo de caracteres' end test 'Prueba #XXX-U-006: Probando que guarde ______ igual al máximo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_maximo assert tut.valid?, 'No se guardo palabra igual al maximo de caracteres' end test 'Prueba #XXX-U-007: Prueba que no se guarde ______ mayor del máximo de caracteres permitidos [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_excedido refute tut.valid?, 'Se guardo palabra de mas caracteres que los permitidos' end test 'Prueba #XXX-U-008: Prueba que elimine el espacio inicial [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_blanco_inicial assert_equal tut.forma_de_pago, @palabra, 'No eliminó el espacio inicial' end test 'Prueba #XXX-U-009: Prueba que elimine espacios finales [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_blanco_final assert_equal tut.forma_de_pago, @palabra, 'No eliminó los espacios finales' end test 'Prueba #XXX-U-010: Prueba que elimine espacios iniciales y finales [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_blanco_ambos assert_equal tut.forma_de_pago, @palabra, 'No eliminó los espacios alrededor del texto' end test 'Prueba #XXX-U-011: Prueba que se guarde en minúsculas [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_minusculas assert_equal tut.forma_de_pago, @palabra, 'No guardó el texto en minúsculas' end test 'Prueba #XXX-U-012: Prueba que detecte contenido duplicado [hmjr]' do original = NombreDeTablaEnSingular.first.forma_de_pago @duplicado[:forma_de_pago] = original tut = NombreDeTablaEnSingular.create @duplicado refute tut.valid?, 'No detectó duplicidad' end # +----------------------+ # | Pruebas para Destroy | # +----------------------+ test 'Prueba #XXX-U-013: No debe de poder eliminar sin ser usuario registrado [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_user antes = NombreDeTablaEnSingular.count tut.destroy assert_equal antes, NombreDeTablaEnSingular.count, 'Borró pese a no estar registrado' end test 'Prueba #XXX-U-014: Elimina ______, el usuario no es root, solo_root_ns = false, no tiene dependientes [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_user tut.usuario_actual = @usr antes = NombreDeTablaEnSingular.count tut.destroy refute_equal antes, NombreDeTablaEnSingular.count, 'No se borró y no tiene teléfonos dependientes' end test 'Prueba #XXX-U-015: Elimina ______, el usuario no es root, solo_root_ns = false, TIENE dependientes [hmjr]' do # tid = NombreDeTablaEnSingular.first # dir = Directorio.create razon_fiscal: 'borrame s.a. de c.v.', razon_comercial: 'borrame', sobrenombre: 'borrame' # TablaRelacionada.create tipo_forma_pago: tid, directorio: dir, solo_root_ns: false # antes = NombreDeTablaEnSingular.count # tid.usuario_actual = @usr # tid.destroy # assert_equal antes, NombreDeTablaEnSingular.count, 'Se eliminó pese a que tiene dependientes' end test 'Prueba #XXX-U-016: Elimina ______, el usuario no es root, solo_root_ns = true [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_root tut.usuario_actual = @usr antes = NombreDeTablaEnSingular.count tut.destroy assert_equal antes, NombreDeTablaEnSingular.count, 'Pudo borrar registro cuando solo root debería' end test 'Prueba #XXX-U-017: Elimina ______, el usuario es ROOT, solo_root_ns = false [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_user tut.usuario_actual = @root antes = NombreDeTablaEnSingular.count tut.destroy refute_equal antes, NombreDeTablaEnSingular.count, 'Root no pudo borrar un registro no exclusivo' end test 'Prueba #XXX-U-018: Elimina ______, el usuario es ROOT, solo_root_ns = true [hmjr]' do tut = NombreDeTablaEnSingular.create @datos_root antes = NombreDeTablaEnSingular.count tut.destroy refute_equal antes, NombreDeTablaEnSingular.count, 'Root no pudo borrar un registro exclusivo' end # +---------------------------------------+ # | Pruebas para Edit para usuario normal | # +---------------------------------------+ test 'Prueba #XXX-U-019: Probando la edición de ______ con usuario no logeado [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_user refute tut.save, tut.errors.messages.to_yaml end test 'Prueba #XXX-U-020: Probando la edición de ______ con usuario logeado [hmjr]' do @datos_user[:usuario_actual] = @usr tut = NombreDeTablaEnSingular.first tut.update @datos_user assert tut.save, tut.errors.messages.to_yaml end test 'Prueba #XXX-U-021: Probando que no edite ______ en blanco [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_blanco refute tut.valid?, 'Se guardó en blanco' end test 'Prueba #XXX-U-022: Probando que no edite ______ nil [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_nulo refute tut.valid?, 'Se guardó siendo nil' end test 'Prueba #XXX-U-023: Probando que no edite ______ menores al mínimo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_1char refute tut.valid?, 'Se guardó siendo menor al mínimo de caracteres' end test 'Prueba #XXX-U-024: Probando que guarde ______ siendo igual al mínimo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_minimo assert tut.valid?, 'No se guardo palabra igual al mínimo de caracteres' end test 'Prueba #XXX-U-025: Probando que guarde ______ igual al máximo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_maximo assert tut.valid?, 'No se guardo palabra igual al máximo de caracteres' end test 'Prueba #XXX-U-026: Prueba que no se guarde ______ mayor al máximo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_excedido refute tut.valid?, 'Se guardo palabra mayor al máximo de caracteres' end test 'Prueba #XXX-U-027: Prueba que elimine el espacio inicial [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_blanco_inicial assert_equal tut.forma_de_pago, @palabra, 'No eliminó el espacio inicial' end test 'Prueba #XXX-U-028: Prueba que elimine espacios finales [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_blanco_final assert_equal tut.forma_de_pago, @palabra, 'No eliminó los espacios finales' end test 'Prueba #XXX-U-029: Prueba que elimine espacios iniciales y finales [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_blanco_ambos assert_equal tut.forma_de_pago, @palabra, 'No eliminó los espacios alrededor del texto' end test 'Prueba #XXX-U-030: Prueba que se guarde en minúsculas [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update @datos_minusculas assert_equal tut.forma_de_pago, @palabra, 'No guardó el texto en minúsculas' end test 'Prueba #XXX-U-031: Prueba que detecte contenido duplicado [hmjr]' do tut = NombreDeTablaEnSingular.first tut.update forma_de_pago: NombreDeTablaEnSingular.last.forma_de_pago, usuario_actual: @usr refute tut.valid?, 'No detectó duplicidad' end test 'Prueba #XXX-U-032: Prueba que NO pueda editar si solo_root_ns es true [hmjr]' do tut = NombreDeTablaEnSingular.create forma_de_pago: @palabra, solo_root_ns: true, usuario_actual: @usr cam = NombreDeTablaEnSingular.find tut.id cam.forma_de_pago = 'cambiado' cam.usuario_actual = @usr refute cam.save, 'No detectó que solo root lo puede modificar' end # +-------------------------------------+ # | Pruebas para Edit para usuario root | # +-------------------------------------+ test 'Prueba #XXX-U-033: Probando la edición de ______ con usuario logeado [hmjr]' do @usr = @root tut = NombreDeTablaEnSingular.last tut.update @datos_root assert tut.save, tut.errors.messages.to_yaml end test 'Prueba #XXX-U-034: Probando que no edite ______ en blanco [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_blanco refute tut.valid?, 'Se guardó en blanco' end test 'Prueba #XXX-U-035: Probando que no edite ______ nil [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_nulo refute tut.valid?, 'Se guardó siendo nil' end test 'Prueba #XXX-U-036: Probando que no edite ______ menores al mínimo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_1char refute tut.valid?, 'Se guardó siendo menor al mínimo de caracteres' end test 'Prueba #XXX-U-037: Probando que guarde ______ igual al mínimo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_minimo assert tut.valid?, 'No se guardo palabra igual al mínimo de caracteres' end test 'Prueba #XXX-U-038: Probando que guarde ______ igual al máximo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_maximo assert tut.valid?, 'No se guardo palabra igual al máximo de caracteres' end test 'Prueba #XXX-U-039: Prueba que no se guarde ______ mayor al máximo de caracteres [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_excedido refute tut.valid?, 'Se guardo palabra mayor al máximo de caracteres' end test 'Prueba #XXX-U-040: Prueba que elimine el espacio inicial [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_blanco_inicial assert_equal tut.forma_de_pago, @palabra, 'No eliminó el espacio inicial' end test 'Prueba #XXX-U-041: Prueba que elimine espacios finales [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_blanco_final assert_equal tut.forma_de_pago, @palabra, 'No eliminó los espacios finales' end test 'Prueba #XXX-U-042: Prueba que elimine espacios iniciales y finales [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_blanco_ambos assert_equal tut.forma_de_pago, @palabra, 'No eliminó los espacios alrededor del texto' end test 'Prueba #XXX-U-043: Prueba que se guarde en minúsculas [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update @datos_minusculas assert_equal tut.forma_de_pago, @palabra, 'No guardó el texto en minúsculas' end test 'Prueba #XXX-U-044: Prueba que detecte contenido duplicado [hmjr]' do tut = NombreDeTablaEnSingular.last tut.update forma_de_pago: NombreDeTablaEnSingular.first.forma_de_pago, usuario_actual: @root refute tut.valid?, 'No detectó duplicidad' end test 'Prueba #XXX-U-045: Prueba que pueda editar si solo_root_ns es true [hmjr]' do tut = NombreDeTablaEnSingular.create forma_de_pago: @palabra, solo_root_ns: true, usuario_actual: @root cam = NombreDeTablaEnSingular.find tut.id cam.forma_de_pago = 'cambiado' cam.usuario_actual = @root assert cam.save, 'No detectó que solo root lo puede modificar' end end #------------------------------------------------------------------------------ # NombreDeTablaEnSingular # # Name SQL Type Null Default Primary # ------------- -------------------- ------- ------- ------- # id int(11) false true # forma_de_pago varchar(10) false false # solo_root_ns tinyint(1) false 0 false # lock_version int(11) false 0 false # created_at datetime false false # updated_at datetime false false # #------------------------------------------------------------------------------
If you want to be updated about similar snippets, Sign in and follow our Channels

blog comments powered by Disqus