public void TestLaunchTournament() { // Arrange int playersPerPool = 32; int numOfStations = 4; var request = new LaunchTournamentRequest(playersPerPool, numOfStations); var expectedResponse = new Response <EmptyResponse>(); var mockClient = new Mock <ITournamentClient>(); mockClient.Setup(client => client.LaunchTournament(TEST_TOURNAMENT_ID, request)) .Returns(expectedResponse.WithSuccess()); // Act var tournamentController = new TournamentController( requestFieldExtractor, mockClient.Object); var result = tournamentController.LaunchTournament(TEST_TOURNAMENT_ID, request) as OkObjectResult; var response = result.Value as Response <EmptyResponse>; // Assert Assert.NotNull(response); Assert.True(response.IsSuccessStatusCode); Assert.Equal(expectedResponse.Payload, response.Payload); }