Testare più email contemporaneamente

Può capitare di inviare dalla stessa action diverse email, ad esempio per notificare un amministratore di un determinato evento e contemporaneamente per dare feedback all’utente che l’ha scatenato.

In questi casi sfTesterMailer, che con il metodo withMessage(), ci viene incontro dandoci la possibilità di filtrare, filtrando per destinatario, l’email che vogliamo testare.

Supponiamo ad esempio di aver spedito due email, una a admin@example.org e l’altra ad user@example.org in questo ordine.

Il test funzionale corrispondente sarà:

1
2
3
4
5
6
with('mailer')->begin()->
  hasSent(2)->
  checkHeader('to', '/admin@example.org/')->
  withMessage('user@example.org')->
  checkHeader('to', '/user@example.org/')->
end();

Inoltre il metodo withMessage() ci permette anche di ciclare all’interno dei messaggi, usando un secondo parametro denominato $position, casomai i messaggi inviati all’utente siano più di uno.

Propel in Symfony 2.0

Sembra che la tanto attesa nuova versione di Symfony supporterà, come l’attuale, entrambi gli ORM. Se infatti Doctrine, ormai legato a doppio filo al framework, non è mai stato in dubbio, Propel sembrava rimasto indietro. Invece, pochi giorni fa, l’instancabile François Zaninotto ha pubblicato il suo fork con PropelBundle.