diff options
Diffstat (limited to 'perllib/FixMyStreet/TestMech.pm')
-rw-r--r-- | perllib/FixMyStreet/TestMech.pm | 52 |
1 files changed, 20 insertions, 32 deletions
diff --git a/perllib/FixMyStreet/TestMech.pm b/perllib/FixMyStreet/TestMech.pm index 1b7fba1bd..7f7104d3d 100644 --- a/perllib/FixMyStreet/TestMech.pm +++ b/perllib/FixMyStreet/TestMech.pm @@ -276,6 +276,24 @@ sub get_text_body_from_email { return $body; } +sub get_html_body_from_email { + my ($mech, $email, $obj) = @_; + unless ($email) { + $email = $mech->get_email; + $mech->clear_emails_ok; + } + + my $body; + $email->walk_parts(sub { + my $part = shift; + return if $part->subparts; + return if $part->content_type !~ m{text/html}; + $body = $obj ? $part : $part->body_str; + ok $body, "Found HTML body"; + }); + return $body; +} + sub get_link_from_email { my ($mech, $email, $multiple, $mismatch) = @_; unless ($email) { @@ -340,12 +358,13 @@ arrayref of TEXTs. If none found return empty arrayref. sub page_errors { my $mech = shift; my $result = scraper { - process 'div.form-error, p.form-error, p.error, ul.error li', 'errors[]', 'TEXT'; + process 'div.form-error, p.form-error, p.error, ul.error li, .search-help__header', 'errors[]', 'TEXT'; } ->scrape( $mech->response ); my $err = $result->{errors} || []; my %seen = (); $err = [ grep { not $seen{$_}++ } @$err ]; + @$err = map { s/^\s+|\s+$//g; $_ } @$err; return $err; } @@ -590,29 +609,6 @@ sub get_ok_json { return decode_json( $res->content ); } -sub delete_body { - my $mech = shift; - my $body = shift; - - $mech->delete_problems_for_body($body->id); - $mech->delete_defect_type($_) for $body->defect_types; - $mech->delete_contact($_) for $body->contacts; - $mech->delete_user($_) for $body->users; - $_->delete for $body->response_templates; - $_->delete for $body->response_priorities; - $body->body_areas->delete; - $body->delete; -} - -sub delete_contact { - my $mech = shift; - my $contact = shift; - - $contact->contact_response_templates->delete_all; - $contact->contact_response_priorities->delete_all; - $contact->delete; -} - sub delete_problems_for_body { my $mech = shift; my $body = shift; @@ -627,14 +623,6 @@ sub delete_problems_for_body { } } -sub delete_defect_type { - my $mech = shift; - my $defect_type = shift; - - $defect_type->contact_defect_types->delete_all; - $defect_type->delete; -} - sub delete_response_template { my $mech = shift; my $response_template = shift; |