aboutsummaryrefslogtreecommitdiffstats
path: root/t/app/controller/photo.t
diff options
context:
space:
mode:
Diffstat (limited to 't/app/controller/photo.t')
-rw-r--r--t/app/controller/photo.t36
1 files changed, 36 insertions, 0 deletions
diff --git a/t/app/controller/photo.t b/t/app/controller/photo.t
index dbbc697d7..e9183836b 100644
--- a/t/app/controller/photo.t
+++ b/t/app/controller/photo.t
@@ -66,7 +66,43 @@ subtest "Check multiple upload worked" => sub {
'Returned upload_fileid contains expected hash, 3 times');
my $image_file = path($UPLOAD_DIR, '74e3362283b6ef0c48686fb0e161da4043bbcc97.jpeg');
ok $image_file->exists, 'File uploaded to temp';
+
+ $mech->submit_form_ok({ with_fields => { name => 'Bob Jones' } });
+ ok $mech->success, 'Made request with multiple photo upload';
};
};
+subtest "Check photo uploading URL works" => sub {
+ my $UPLOAD_DIR = tempdir( CLEANUP => 1 );
+
+ # submit initial pc form
+ FixMyStreet::override_config {
+ UPLOAD_DIR => $UPLOAD_DIR,
+ }, sub {
+ $mech->post( '/photo/upload',
+ Content_Type => 'form-data',
+ Content => {
+ photo1 => [ $sample_file, undef, Content_Type => 'application/octet-stream' ],
+ },
+ );
+ ok $mech->success, 'Made request with multiple photo upload';
+ is $mech->content, '{"id":"74e3362283b6ef0c48686fb0e161da4043bbcc97.jpeg"}';
+ my $image_file = path($UPLOAD_DIR, '74e3362283b6ef0c48686fb0e161da4043bbcc97.jpeg');
+ ok $image_file->exists, 'File uploaded to temp';
+ };
+};
+
+subtest "Check photo URL endpoints work" => sub {
+ my $p = FixMyStreet::DB->resultset("Problem")->first;
+
+ $mech->get_ok('/photo/temp.74e3362283b6ef0c48686fb0e161da4043bbcc97.jpeg');
+ my $image_file = FixMyStreet->path_to('web/photo/temp.74e3362283b6ef0c48686fb0e161da4043bbcc97.jpeg');
+ ok -e $image_file, 'File uploaded to temp';
+ $mech->get_ok('/photo/' . $p->id . '.jpeg');
+ $image_file = FixMyStreet->path_to('web/photo/' . $p->id . '.jpeg');
+ ok -e $image_file, 'File uploaded to temp';
+ my $res = $mech->get('/photo/0.jpeg');
+ is $res->code, 404, "got 404";
+};
+
done_testing();