rails generate ruby-on-rails-3 unit-testing ruby-on-rails-3.2 actionmailer

ruby on rails 3 - generate - Rails-¿Cómo probar que ActionMailer envió un archivo adjunto específico?



rails generate email (1)

Este es un ejemplo que copié de mi prueba rspec de un archivo adjunto específico, espero que ayude (el correo puede crearse llamando a su método de correo o mirando la matriz de entregas después de llamar a .deliver):

mail.attachments.should have(1).attachment attachment = mail.attachments[0] attachment.should be_a_kind_of(Mail::Part) attachment.content_type.should be_start_with(''application/ics;'') attachment.filename.should == ''event.ics''

En mi prueba de ActionMailer :: TestCase, estoy esperando:

@expected.to = BuyadsproMailer.group_to(campaign.agency.users) @expected.subject = "You submitted #{offer_log.total} worth of offers for #{offer_log.campaign.name} " @expected.from = "BuyAds Pro <[email protected]>" @expected.body = read_fixture(''deliver_to_agency'') @expected.content_type = "multipart/mixed;/r/n boundary=/"something/"" @expected.attachments["#{offer_log.aws_key}.pdf"] = { :mime_type => ''application/pdf'', :content => fake_pdf.body }

y apague mi correo para obtener fake_pdf en lugar de un PDF real que normalmente se obtiene de S3 para que esté seguro de que los cuerpos de los PDF coinciden.

Sin embargo, recibo este largo error que me dice que se esperaba un correo electrónico, pero recibí un correo electrónico ligeramente diferente:

<...Mime-Version: 1.0/r/nContent-Type: multipart/mixed/r/nContent-Transfer-Encoding: 7bit...> expected but was <...Mime-Version: 1.0/r/nContent-Type: multipart/mixed;/r/n boundary=/"--==_mimepart_50f06fa9c06e1_118dd3fd552035ae03352b/";/r/n charset=UTF-8/r/nContent-Transfer-Encoding: 7bit...>

No coincido con el conjunto de caracteres o el límite parcial del correo electrónico generado.

¿Cómo defino o apago este aspecto de mis correos electrónicos esperados?