For those that have the same problem I did, I figured out that because the mocked response I was returning contained multiple movies and the code in the method below maps over the movies it was looking for a new response for every movie it mapped over.
Meaning I needed to append a new response to the mock handler for every movie I returned. There were 5 movies I was returning and I was only appending 1 response which is why I was getting that exception.
$collection = collect($popularMovies)->map(function ($movie) {
return [
'id' => $movie->id,
'title' => $movie->title,
'popularity' => ceil($movie->vote_average * 10),
'release_date' => Carbon::parse($movie->release_date),
'image_url' => "https://image.tmdb.org/t/p/w500{$movie->poster_path}",
// This is the second API call that's causing issues
'genres' => (new GetMovieGenresAction())->execute($movie->genre_ids)
];
})->sortByDesc('popularity');