public async Task GetTowns_WhenCalled_ReturnsTownsFromService() { var serviceTowns = new List <Town> { new Town { Name = "Goslar" }, new Town { Name = "Oker" }, }; var townsService = NSubstitute.Substitute.For <ITownsService>(); townsService.GetAllItemsAsync().Returns(Task.Run(() => serviceTowns)); var streetsService = NSubstitute.Substitute.For <IStreetsService>(); var categoriesService = NSubstitute.Substitute.For <ICategoriesService>(); var eventsService = NSubstitute.Substitute.For <IEventsService>(); var controller = new TownsController(townsService, streetsService, categoriesService, eventsService); var actionResult = await controller.GetTownsAsync().ConfigureAwait(false); var value = (actionResult.Result as OkObjectResult).Value; Assert.That(value, Is.AssignableTo(typeof(IEnumerable <Town>))); var resultTowns = value as IEnumerable <Town>; Assert.That(resultTowns.Count, Is.EqualTo(2)); Assert.That(resultTowns.First().Name, Is.EqualTo("Goslar")); Assert.That(resultTowns.Skip(1).First().Name, Is.EqualTo("Oker")); }
public async Task GetTowns_WhenCalled_ReturnsOkResult() { var townsService = NSubstitute.Substitute.For <ITownsService>(); var streetsService = NSubstitute.Substitute.For <IStreetsService>(); var categoriesService = NSubstitute.Substitute.For <ICategoriesService>(); var eventsService = NSubstitute.Substitute.For <IEventsService>(); var controller = new TownsController(townsService, streetsService, categoriesService, eventsService); var actionResult = await controller.GetTownsAsync().ConfigureAwait(false); Assert.That(actionResult.Result, Is.TypeOf(typeof(OkObjectResult))); }