- https://api.rubyonrails.org/v5.2.1/classes/ActionMailer/Base.html
- *** https://guides.rubyonrails.org/testing.html#testing-your-mailers
- https://launchschool.com/blog/handling-emails-in-rails
- https://sendgrid.com/docs/for-developers/sending-email/rubyonrails/
- https://robots.thoughtbot.com/action-mailer-and-active-job-sitting-in-a-tree
- https://relishapp.com/rspec/rspec-rails/v/3-8/docs/mailer-specs
- *** https://www.lucascaton.com.br/2010/10/25/how-to-test-mailers-in-rails-with-rspec/
- https://robots.thoughtbot.com/any-empty
- https://blog.arkency.com/2017/07/nil-empty-blank-ruby-rails-difference/
https://www.justinweiss.com/articles/4-simple-memoization-patterns-in-ruby-and-one-gem/
https://lafabrique.kisskissbankbank.com/tests-aquatiques-2c7c235727ee
##Standalone test spies, stubs and mocks for JavaScript.
1️⃣ pour tous ceux qui utilisaient GitHub / Heroku ... et qui ont décidé de migrer vers GitLab ... il n'y a pas d'intégration plug-and-play fournie par Môôôssieur Heroku (= heroku ne détecte pas les modifs du repo et récupère le code pour l'appliquer sur l'instance qui aura été correctement configurée pour faire ça 😉 )
2️⃣ Alors que heroku récupérait ce qu'il faut depuis la forge (GitHub) ... maintenant il faut trouver un moyen de dire à la forge (GitLab) de pousser vers heroku (de pourquoi ou parle de CI/CD ... le D étant pour Deployment) => il faut déployer sur heroku
3️⃣ pour faire ça ... il faut déjà commencer par autoriser la forge (GitLab) à envoyer des choses à Heroku
4️⃣ il faut donc récupérer une clé API dispo dans l'interface de heroku !
5️⃣ tout ceci n'a d'intérêt que si les tests passent (spéciale dédicace à @François D. et @Louis 😉
6️⃣ pour faire passer des tests grâce à GitLab ... baaah faut un fichier .gitlab-ci.yml
qui grosso merdo fait la même chose qu'un docker compose (pour ceux à qui ça parle) = ça prépare une ou des machines (virtuelles ... des containers en réalité 😉 ... vu que désormais les principaux CI utilisent docker) ... mais c'est toujours pas besoin de se prendre la tête avec docker ... GitLab fait ça pour vous ! (https://docs.gitlab.com/ee/ci/quick_start/)
7️⃣ là vous luttez un peu avec les docs ... pour modifier / tweaker votre fichier .gitlab-ci.yml
(ex.: rajouter rubocop / du coverage minimum 😏 )
8️⃣ quand tout est vert (= tous les tests passent) la partie CI est done ... on peut enfin attaquer la partie CD = envoyer vers les serveurs-ki-vont-bien ... heroku en l'espèce (vu le nombre de fois où je suis surpris par ça, je me dois de préciser: même si c'est top, il n'y a pas que heroku dans la vie ... et non tous les autres services ne fonctionnent pas de la même façon / ne s'intègrent pas à grands coups de git push heroku master & co)
9️⃣ vu que tu te seras fais chier à lire les docs à l'étape 7️⃣ tu sais désormais qu'on peut faire exécuter des scripts à des étapes spécifiques dans le fichier .gitlab-ci.yml
... soit tu fais le truc bourrin: un bon vieux push des familles vers l'adresse du repo qui correspond à ton instance heroku ... soit tu utilises des trucs comme dpl
pour que ce soit plus smooth (edited)