public async Task TestReportResultOk(int actualMinutes, int expectedMinutes, int result) { var unimicroAdapter = A.Fake <IExternalSystemAdapter>(); A.CallTo(() => unimicroAdapter.GetHourBalance(A <int> .Ignored, A <int> .Ignored)) .Returns(new domain.HourBalance { ActualMinutes = actualMinutes, ExpectedMinutes = expectedMinutes }); var externalSystemFactory = A.Fake <IExternalSystemFactory>(); A.CallTo(() => externalSystemFactory.CreateSystemAdapter(A <domain.ExternalEconomySystem> .Ignored)) .Returns(unimicroAdapter); var timeRegService = new TimeRegServiceBuilder() .WithExternalSystemFactory(externalSystemFactory) .WithIntegrationService(_integrationService) .WithCurrentUserContext(new StaticUserContext(new UserContext { UserId = 18 })) .Build(); var Controller = new ReportController(timeRegService, Mapper); // act var response = await Controller.GetHourBalance(1, 1337); var okObjectResult = response.Result as OkObjectResult; contracts.HourBalance hourBalance = (contracts.HourBalance)okObjectResult.Value; // Assert Assert.NotNull(Controller); Assert.NotNull(hourBalance); Assert.AreEqual(result, hourBalance.HourBalanceInHours); Assert.IsInstanceOf(typeof(contracts.HourBalance), hourBalance); }