Modelado de Aplicaciones con TDD en Rails
Clase 9 de 33 • Curso de Creación de APIs con Ruby on Rails
Contenido del curso
Proyecto
- 3

Creación de APIs con Rails: Proyecto Blog API paso a paso
04:37 min - 4

Configuración de Gemas para Pruebas en Proyectos Rails
06:26 min - 5

Configuración de Gemas en Proyectos Rails: Arspec, Factory Bot y Database Cleaner
07:25 min - 6

Implementación de un Health Check Endpoint en API con RSpec
12:28 min - 7

Diseño de Casos de Uso y Diagramas de Entidad para Aplicaciones
03:16 min - 8

Diagrama entidad relación: usuario y post
01:41 min - 9

Modelado de Aplicaciones con TDD en Rails
Viendo ahora - 10

Validaciones y Pruebas TDD en Rails: Modelos USR y Post
07:07 min - 11

Implementación de Endpoints para Listar y Mostrar Posts con TDD
15:12 min - 12

Implementar controlador Posts con TDD
10:34 min - 13

Pruebas TDD para crear y actualizar posts
10:12 min - 14

Implementación de Métodos y Manejo de Excepciones en Rails API
10:23 min - 15

Active Model serializers: control total de JSON en Rails
06:03 min - 16

Búsqueda y Filtrado de Posts por Título con TDD
05:57 min - 17

Implementación de Búsqueda de Posts con Servicios en Rails
06:06 min - 18

Problema N+1 en Rails: Detección y Solución Eficaz
04:40 min - 19

Identificación y solución del problema N+1 en Rails
06:20 min - 20

Flujo de Autenticación en APIs con Tokens y Proveedores
05:29 min - 21

Tests con RSpec para autenticación de tokens
12:17 min - 22

Autenticación con Tokens: Implementación en Rails API
05:53 min - 23

Autenticación de Usuarios en Controladores Rails
09:19 min - 24

Autenticación y Seguridad en CRUD de Posts en Rails
09:17 min - 25

Pruebas de Creación y Actualización con Autenticación en Rails
14:21 min - 26

Probando API Ruby on Rails con Postman
10:43 min - 27

Caching en Aplicaciones Web: Funciones y Niveles
07:15 min - 28

Aceleración de Búsquedas en Rails con Caching
08:23 min - 29

Background Jobs en Rails: Conceptos y Funcionalidades
05:45 min - 30

Procesamiento en Background y Envío de Correos con Rails
09:45 min - 31

Envío de Correos en Rails con ActionMailer y Background Jobs
11:06 min - 32
Autenticación y Autorización con JWT y Auth0 en Aplicaciones Web
03:48 min
Cierre
Construye modelos sólidos en Rails aplicando TDD desde el primer paso. Aquí verás cómo se definen entidades clave, se corrigen referencias con precisión y se prepara el terreno para pruebas con RSpec, manteniendo un flujo claro y profesional.
¿Qué es TDD y cuándo conviene usarlo?
La idea central de TDD es simple: primero escribes las pruebas y luego implementas el código mínimo para pasarlas. Test Driven Development ayuda a enfocarse en el comportamiento esperado y a reducir errores.
- Útil en proyectos pequeños o con requerimientos muy claros desde el inicio.
- Menos adecuado cuando el feature es grande o incierto en su comportamiento final.
- Comunidad de Rails con fuerte cultura de TDD y uso de RSpec.
- Invitación abierta a investigar y compartir opiniones sobre TDD.
¿Cómo se generaron los modelos y se corrigieron las referencias?
El flujo inició creando el modelo de usuario y luego el de post, asegurando la asociación correcta. Un error común apareció al omitir la “s” en references y se mostró cómo revertir y rehacer la generación.
¿Qué campos tienen usuario y post?
- Usuario: email (string), nombre (string), authentication_token (string) temporal para autenticación. Más adelante se planea usar OutZero y JSON Web Tokens.
- Post: título, contenido, publicado (booleano) y referencia a usuario para la asociación.
¿Qué comando corrige una generación fallida?
- Se usó el comando de reversión para deshacer modelos y migraciones mal generadas.
rails destroy model post
- Luego se rehízo la generación del post usando correctamente references (con “s”).
¿Qué asociación se aseguró en post?
- La corrección permitió que el modelo post incluyera el belongs to user.
# app/models/post.rb
class Post < ApplicationRecord
belongs_to :user
end
- Las migraciones resultantes incluyeron la referencia al usuario y la llave foránea.
- Tras generar correctamente, se corrieron las migraciones para crear las tablas.
¿Qué comandos se mencionaron en consola?
- Generación inicial del modelo usuario.
rails model user
- Intento de generación del post y corrección posterior.
rails gmodel post
rails destroy model post
# luego rehacer usando references correctamente
¿Qué pruebas y migraciones quedaron listas para el flujo TDD?
Con la integración de RSpec en Rails, al generar un modelo se crea automáticamente el archivo de pruebas correspondiente. Así se alinea el desarrollo con el enfoque TDD desde el comienzo.
- Pruebas de modelo listas para implementar expectativas de validaciones y asociaciones.
- Migraciones aplicadas: tabla de usuarios con tres campos definidos y tabla de posts con referencia a usuario y llave foránea.
- Asociación clave confirmada: post pertenece a usuario.
Habilidades y keywords trabajadas:
- TDD: escribir pruebas antes del código.
- RSpec: pruebas de modelos integradas con Rails.
- Generadores de Rails: crear modelos y migraciones.
- references vs reference: asegurar la llave foránea correcta.
- belongs_to: asociación entre modelos.
- Migraciones: creación de tablas y aplicación de cambios.
- Reversión con destroy: deshacer cambios incorrectos con rapidez.
¿Tienes una postura clara sobre TDD en tu flujo de trabajo? Comparte tu experiencia y cuéntanos qué te ha funcionado mejor en proyectos grandes o con requerimientos cambiantes.