diff options
Diffstat (limited to 't/app/controller/questionnaire.t')
-rw-r--r-- | t/app/controller/questionnaire.t | 35 |
1 files changed, 11 insertions, 24 deletions
diff --git a/t/app/controller/questionnaire.t b/t/app/controller/questionnaire.t index 7718d5034..7bc6545db 100644 --- a/t/app/controller/questionnaire.t +++ b/t/app/controller/questionnaire.t @@ -63,8 +63,8 @@ my $email = $mech->get_email; ok $email, "got an email"; like $email->body, qr/fill in our short questionnaire/i, "got questionnaire email"; -like $email->body, qr/Testing =96 Detail/, 'email contains encoded character'; -is $email->header('Content-Type'), 'text/plain; charset="windows-1252"', 'in the right character set'; +like $email->body_str, qr/Testing \x{2013} Detail/, 'email contains encoded character'; +is $email->header('Content-Type'), 'text/plain; charset="utf-8"', 'in the right character set'; my ($token) = $email->body =~ m{http://.*?/Q/(\S+)}; ok $token, "extracted questionnaire token '$token'"; @@ -394,31 +394,23 @@ for my $test ( } FixMyStreet::override_config { - ALLOWED_COBRANDS => [ 'emptyhomes', 'fixmystreet' ], + ALLOWED_COBRANDS => [ 'fixmystreet' ], }, sub { - # EHA extra checking - ok $mech->host("reportemptyhomes.com"), 'change host to reportemptyhomes'; - - # Reset, and all the questionaire sending function - FIXME should it detect site itself somehow? + $report->discard_changes; $report->send_questionnaire( 1 ); $report->update; $questionnaire->delete; - FixMyStreet::App->model('DB::Questionnaire')->send_questionnaires( { - site => 'emptyhomes' - } ); + FixMyStreet::App->model('DB::Questionnaire')->send_questionnaires(); $email = $mech->get_email; ok $email, "got an email"; $mech->clear_emails_ok; (my $body = $email->body) =~ s/\s+/ /g; - like $body, qr/fill in this short questionnaire/i, "got questionnaire email"; + like $body, qr/fill in our short questionnaire/i, "got questionnaire email"; ($token) = $email->body =~ m{http://.*?/Q/(\S+)}; ok $token, "extracted questionnaire token '$token'"; - $mech->get_ok("/Q/" . $token); - $mech->content_lacks( 'Would you like to receive another questionnaire' ); - # Test already answered the ever reported question, so not shown again $dt = $dt->add( weeks => 4 ); my $questionnaire2 = FixMyStreet::App->model('DB::Questionnaire')->find_or_create( @@ -429,17 +421,11 @@ FixMyStreet::override_config { } ); ok $questionnaire2, 'added another questionnaire'; - ok $mech->host("www.fixmystreet.com"), 'change host to fixmystreet'; $mech->get_ok("/Q/" . $token); $mech->title_like( qr/Questionnaire/ ); $mech->content_contains( 'Has this problem been fixed?' ); $mech->content_lacks( 'ever reported' ); - # EHA extra checking - ok $mech->host("reportemptyhomes.com"), 'change host to reportemptyhomes'; - $mech->get_ok("/Q/" . $token); - $mech->content_lacks( 'Would you like to receive another questionnaire' ); - $token = FixMyStreet::App->model("DB::Token")->find( { scope => 'questionnaire', token => $token } ); ok $token, 'found token for questionnaire'; $questionnaire = FixMyStreet::App->model('DB::Questionnaire')->find( { id => $token->data } ); @@ -452,18 +438,19 @@ FixMyStreet::override_config { ALLOWED_COBRANDS => [ 'fiksgatami' ], }, sub { # I18N Unicode extra testing using FiksGataMi + $report->discard_changes; $report->send_questionnaire( 1 ); $report->cobrand( 'fiksgatami' ); $report->update; $questionnaire->delete; - FixMyStreet::App->model('DB::Questionnaire')->send_questionnaires( { site => 'fixmystreet' } ); # It's either fixmystreet or emptyhomes + FixMyStreet::App->model('DB::Questionnaire')->send_questionnaires(); $email = $mech->get_email; ok $email, "got an email"; $mech->clear_emails_ok; - like $email->body, qr/Testing =96 Detail/, 'email contains encoded character from user'; - like $email->body, qr/sak p=E5 FiksGataMi/, 'email contains encoded character from template'; - is $email->header('Content-Type'), 'text/plain; charset="windows-1252"', 'email is in right encoding'; + like $email->body_str, qr/Testing \x{2013} Detail/, 'email contains encoded character from user'; + like $email->body_str, qr/sak p\xe5 FiksGataMi/, 'email contains encoded character from template'; + is $email->header('Content-Type'), 'text/plain; charset="utf-8"', 'email is in right encoding'; }; $mech->delete_user('test@example.com'); |