Hello, I have a controller that uses the '->ua' helper to fetch data on demand. During testing, I provide a mock service to avoid fetching the data from a real service on the internet. The mock service is mounted under the application to be tested using the 'Mount' plugin.
However, the 'embedded' user agent ('->ua') doesn't seem to 'see' the mocked service. I have tried and stripped down my problem to the following: ---------------------------------------- use Mojo::Base -strict; use Test::Mojo; use Test::More; { package MyApp; use Mojo::Base 'Mojolicious'; sub startup { my $self = shift; $self->routes->get('/welcome' => sub { shift->render(text => 'welcome!') }); $self->routes->get('/indirect' => sub { my $self = shift; my $got = $self->ua->get('/welcome')->result->text; $self->render(text => $got); }); } } my $t = Test::Mojo->new('MyApp'); $t->get_ok('/welcome')->status_is(200)->content_is('welcome!'); # this test passes $t->get_ok('/indirect')->status_is(200)->content_is('welcome!'); # **THIS TEST FAILS** done_testing; ---------------------------------------- The second test fails. The embedded user agent ('->ua') doesn't seem to be connected to the application object inside the Test::Mojo object ('$t->app') at all. (If I try printing available routes from within the controller with '$self->ua->server->app->routes', there seem to be none.) I tried various combinations of setting '$t->app', '$t->ua', '$t->ua->server->app', but couldn't find anything that worked. What do I need to do to get this working? Kind regards Edward -- You received this message because you are subscribed to the Google Groups "Mojolicious" group. To unsubscribe from this group and stop receiving emails from it, send an email to mojolicious+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/mojolicious/e0be9784-4f89-4a6d-aa39-89f797b101c9n%40googlegroups.com.