IIC2143/Syllabus

[Tarea] Duda test ruta 7 parte 2, casos especiales

Opened this issue · 3 comments

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

  • Leí las reglas del foro (#1).
  • Revisé el compilado de dudas de la tarea y no encontré una issue similar a la mía (https://github.com/IIC2143/Syllabus/issues).
  • De ser necesario, colocaré código simple que permita explicar mi problema o duda, ya que compartir código de esta evaluación puede ser considerado una falta a la ética.

Duda

Hola! En la ruta 7 parte 2, cuando se deben entregar todas las reseñas de cierto libro cuyo título se entrega como parámetro, hay un test que siempre me falla que sería el "ReviewsControllerTest#test_GET_/reviews/:book_debe_buscar_por_título_de_libro_(case_insensitive)", pues cuando debería retornar una tupla, mi código en realidad retorna ninguna. Leyendo el archivo del test, me di cuenta que si se entrega, por ejemplo, el título "198" como parámetro, se debería retornar un elemento, que supongo que es el libro "1984" usado como ejemplo en el enunciado. Lo que me parece raro es que en el enunciado se menciona que se deben entregar las reviews del libro cuyo título es ":book", lo que da a entender que el título del libro debe ser igual al parámetro ":book". Entonces, ¿este método de la ruta 7 parte 2 debe entregar las reviews de los libros cuyo título contenga el string entregado como parámetro ":book"? ¿o el test está incorrecto y realmente sólo debe entregar las reviews de los libros cuyo título sea igual al string entregado como parámetro ":book"? Desde ya, muchas gracias.

Hola!, debes retornar las reseñas para el libro con nombre el que le pasas como parametro, no literalmente que lleve la palabra ":book", ejemplo, si el libro es "alicia en el pais de las maravillas", tu parametro :book es "alicia en el pais de las maravillas", por ende debes retornar sus reseñas respectivas, las cuales en pueden ser 0 o varias.

Hola! Gracias por tu respuesta pero aun tengo la duda. Entiendo lo que me dices, pero lo hago así y el test sale incorrecto. En cambio, usando tu ejemplo, me parece que el test busca que si el parámetro es "alicia en" me retorne las reviews de todos los libros cuyo título contenga el string "alicia en".

El ejemplo que di es tal como funciona el test. Hay un método de ActiveRecord que te permite hacer lo que se espera. Si quieres mándame al correo Jhfuentes@uc.cl una captura de cómo estás programando ese método (para no hacerlo público por acá) y te puedo comentar si el error es del Test o si debes corregir algo en tu lógica :D