Homework - #4
Conversation
lucashour
left a comment
There was a problem hiding this comment.
Listo el review, no es necesario modificar. Me gusta el cambio en los tests del servicio y veo muy bien la iniciativa de proponer algo diferente.
Por cuestiones de tiempos y nivelación, intenté que vean ejemplos claros y fáciles de seguir, quizás por eso notaste o vas a notar que las estructuras no son tan complejas, pero es a propósito. Sin embargo, en casos productivos suelo utilizar algunas de las decisiones que tomaste. Se nota que le has metido a RSpec! 😄
| context 'when given value is different from password' do | ||
| let(:password) { 'password_wrong' } | ||
|
|
||
| it { is_expected.to be_falsey } |
There was a problem hiding this comment.
Está bien, pero sabemos que si falla el resultado es false, por lo que creo que sería más específico con be false.
| context 'when given value is equal to password' do | ||
| let(:password) { 'password_secret' } | ||
|
|
||
| it { is_expected.to be_truthy } |
There was a problem hiding this comment.
Lo mismo acá, sabemos que debería retornar true.
| end | ||
| end | ||
| end | ||
| end |
There was a problem hiding this comment.
En todos los be_falsey, siendo que el mismo test dice it 'returns false', serían más específicos con un be false.
| it 'returns EXTERNAL_VALIDATOR error' do | ||
| is_expected.to eq described_class::EXTERNAL_VALIDATOR | ||
| end | ||
| end |
lucashour
left a comment
There was a problem hiding this comment.
Dejé un comentario que olvidé en el review.
| # En base al modelo de test propuesto para el modelo User, | ||
| # implementar los tests para el modelo Post. | ||
| describe 'Factory' do | ||
| subject { build(:post) } |
There was a problem hiding this comment.
Pese a que el test pasa y está bien, podemos usar un build_stubbed para no persistir al Post en la base de datos (para mejorar la performance). El build es mejor en este sentido que el create y lo veo muy bien, pero aún así persiste aquellas asociaciones que tenga definido el factory. Es sólo un detalle, pero está bueno conocerlo.
subject { build_stubbed(:post) }
Dos detalles: