public async Task Step_Validate_Wrong_Postcode() { const string postcode = "dddfd"; const double latitude = 50.0123; const double longitude = 1.987; const bool isValid = false; var postcodeLocation = new PostcodeLocation { Postcode = postcode, Latitude = latitude, Longitude = longitude }; var viewModel = new FindViewModel { Postcode = postcode }; var context = new SearchContext(viewModel); _providerSearchService.IsSearchPostcodeValid(Arg.Is <string>(p => p == postcode)).Returns((isValid, postcodeLocation)); await _searchStep.Execute(context); context.ViewModel.ValidationStyle.Should().Be(AppConstants.ValidationStyle); context.ViewModel.PostcodeValidationMessage.Should().Be(AppConstants.RealPostcodeValidationMessage); context.Continue.Should().BeFalse(); await _providerSearchService.Received(1).IsSearchPostcodeValid(Arg.Is <string>(p => p == postcode)); }
public async Task Step_Perform_Search_Returns_Expected_Results() { const string postcode = "MK35 8UK"; const int numberOfItems = 9; const int qualificationId = 5; const int selectedItemIndex = 3; var viewModel = new FindViewModel { Postcode = postcode, NumberOfItemsToShow = numberOfItems, SelectedQualificationId = qualificationId, SelectedItemIndex = selectedItemIndex }; var context = new SearchContext(viewModel); var providerLocations = new List <ProviderLocation> { new ProviderLocation(), new ProviderLocation(), new ProviderLocation(), new ProviderLocation(), new ProviderLocation() }; _providerSearchService.Search(Arg.Is <SearchRequest>(sr => sr.Postcode == postcode && sr.NumberOfItems == numberOfItems && sr.QualificationId == qualificationId)) .Returns((providerLocations.Count, providerLocations)); var providerLocationViewModels = new List <ProviderLocationViewModel> { new ProviderLocationViewModel(), new ProviderLocationViewModel(), new ProviderLocationViewModel(), new ProviderLocationViewModel(), new ProviderLocationViewModel() }; _mapper.Map <IEnumerable <ProviderLocationViewModel> >(Arg.Is(providerLocations)).Returns(providerLocationViewModels); await _searchStep.Execute(context); context.ViewModel.TotalRecordCount.Should().Be(providerLocationViewModels.Count); providerLocationViewModels[context.ViewModel.SelectedItemIndex].HasFocus.Should().BeTrue(); context.ViewModel.SearchedQualificationId.Should().Be(qualificationId); context.ViewModel.ProviderLocations.Should().Equal(providerLocationViewModels); await _providerSearchService.Received(1).Search(Arg.Is <SearchRequest>(sr => sr.Postcode == postcode && sr.NumberOfItems == numberOfItems && sr.QualificationId == qualificationId)); _mapper.Received(1).Map <IEnumerable <ProviderLocationViewModel> >(Arg.Is(providerLocations)); }
public async Task Step_Returns_SelectListItems_For_All_Qualifications_With_A_Selected_Qualification() { // Arrange int?selectedQualificationId = 3; var viewModel = new FindViewModel { SelectedQualificationId = selectedQualificationId }; var context = new SearchContext(viewModel); var qualifications = new List <Qualification> { new Qualification { Id = 1, Name = "Qualification 1" }, new Qualification { Id = 2, Name = "Qualification 2" }, new Qualification { Id = 3, Name = "Qualification 3" }, new Qualification { Id = 4, Name = "Qualification 4" }, new Qualification { Id = 5, Name = "Qualification 5" } }; _providerSearchService.GetQualifications().Returns(qualifications); // Act await _searchStep.Execute(context); // Assert _providerSearchService.Received(1).GetQualifications(); context.ViewModel.Qualifications.Count().Should().Be(qualifications.Count); context.ViewModel.Qualifications .Any(q => q.Value == selectedQualificationId.ToString() && q.Selected) .Should().BeTrue(); context.ViewModel.Qualifications .Count(q => q.Value == selectedQualificationId.ToString() && q.Selected) .Should() .Be(1); var qualificationsSelectList = context.ViewModel.Qualifications.OrderBy(q => q.Value).ToList(); qualificationsSelectList[0].Value.Should().Be("1"); qualificationsSelectList[0].Text.Should().Be("Qualification 1"); qualificationsSelectList[0].Selected.Should().BeFalse(); qualificationsSelectList[1].Value.Should().Be("2"); qualificationsSelectList[1].Text.Should().Be("Qualification 2"); qualificationsSelectList[1].Selected.Should().BeFalse(); qualificationsSelectList[2].Value.Should().Be("3"); qualificationsSelectList[2].Text.Should().Be("Qualification 3"); qualificationsSelectList[2].Selected.Should().BeTrue(); qualificationsSelectList[3].Value.Should().Be("4"); qualificationsSelectList[3].Text.Should().Be("Qualification 4"); qualificationsSelectList[3].Selected.Should().BeFalse(); qualificationsSelectList[4].Value.Should().Be("5"); qualificationsSelectList[4].Text.Should().Be("Qualification 5"); qualificationsSelectList[4].Selected.Should().BeFalse(); context.ViewModel.SelectedQualificationId.Should().Be(selectedQualificationId); }