public async Task Then_The_Request_Is_Sent_To_The_Api( Guid itemId, Guid shortlistUserId, int ukprn, int trainingCode, string sectorSubjectArea, double?lat, double?lon, string locationDescription, PostShortlistForUserRequest postShortlistForUserRequest, [Frozen] Mock <IApiClient> apiClient, ShortlistService service) { //Arrange apiClient.Setup(x => x.Post <string, PostShortlistForUserRequest>( It.Is <CreateShortlistForUserRequest>(c => c.PostUrl.Contains($"shortlist", StringComparison.InvariantCultureIgnoreCase) && c.Data.Lat.Equals(lat) && c.Data.Lon.Equals(lon) && c.Data.LocationDescription.Equals(locationDescription) && c.Data.Ukprn.Equals(ukprn) && c.Data.StandardId.Equals(trainingCode) && c.Data.ShortlistUserId.Equals(shortlistUserId) ))).ReturnsAsync(itemId.ToString); //Act var actual = await service.CreateShortlistItemForUser(shortlistUserId, ukprn, trainingCode, lat, lon, locationDescription); //Assert actual.Should().Be(itemId); }
public async Task Then_The_Repository_Is_Called( Guid userId, [Frozen] Mock <IShortlistRepository> repository, ShortlistService service) { //Act await service.DeleteShortlist(userId); //Assert repository.Verify(x => x.DeleteShortlistByUserId(userId), Times.Once); }
public async Task Then_The_Api_Is_Not_Called_If_Empty_Guid_And_Zero_Returned( [Frozen] Mock <ICourseDeliveryApiClient <CourseDeliveryApiConfiguration> > client, ShortlistService service) { //Act var actual = await service.GetShortlistItemCount(Guid.Empty); //Assert actual.Should().Be(0); client.Verify(x => x.Get <GetShortlistUserItemCountResponse>( It.IsAny <GetShortlistUserItemCountRequest>()), Times.Never); }
public void Then_Deletes_The_Shortlist_Item_From_The_Repository( Guid id, Guid userId, [Frozen] Mock <IShortlistRepository> mockRepository, ShortlistService service) { //Act service.DeleteShortlistUserItem(id, userId); //Assert mockRepository.Verify(x => x.Delete(id, userId), Times.Once); }
public async Task Then_The_Request_Is_Sent_To_The_Api( Guid id, Guid shortlistUserId, [Frozen] Mock <IApiClient> apiClient, ShortlistService service) { //Act await service.DeleteShortlistItemForUser(id, shortlistUserId); //Assert apiClient.Verify(x => x.Delete( It.Is <DeleteShortlistForUserRequest>(c => c.DeleteUrl.Contains($"users/{shortlistUserId}/items/{id}", StringComparison.InvariantCultureIgnoreCase))), Times.Once); }
public async Task Then_The_Repository_Is_Called_And_Number_Of_Items_Returned_For_User( Guid userId, int returnValue, [Frozen] Mock <IShortlistRepository> repository, ShortlistService service) { //Arrange repository.Setup(x => x.GetShortlistItemCountForUser(userId)).ReturnsAsync(returnValue); //Act var actual = await service.GetShortlistItemCountForUser(userId); //Assert actual.Should().Be(returnValue); }
public async Task Then_The_Repository_Is_Called_And_Ids_Returned( uint expiryInDays, List <Guid> userIds, [Frozen] Mock <IShortlistRepository> repository, ShortlistService service) { //Arrange repository.Setup(x => x.GetExpiredShortlistUserIds(expiryInDays)).ReturnsAsync(userIds); //Act var actual = await service.GetExpiredShortlistUserIds(expiryInDays); //Assert actual.Should().BeEquivalentTo(userIds); }
public async Task Then_The_Item_Is_Added_To_The_Repository( Domain.Entities.Shortlist item, [Frozen] Mock <IShortlistRepository> repository, ShortlistService service) { //Arrange repository.Setup(x => x.GetShortlistUserItem(It.IsAny <Domain.Entities.Shortlist>())) .ReturnsAsync((Domain.Entities.Shortlist)null); //Act await service.CreateShortlistItem(item); //Assert repository.Verify(x => x.Insert(item), Times.Once); }
public async Task Then_If_There_Is_No_Shortlist_Zero_Is_Returned( Guid userId, [Frozen] Mock <ICourseDeliveryApiClient <CourseDeliveryApiConfiguration> > client, ShortlistService service) { //Arrange client .Setup(x => x.Get <GetShortlistUserItemCountResponse>( It.Is <GetShortlistUserItemCountRequest>(c => c.GetUrl.Contains(userId.ToString())))) .ReturnsAsync((GetShortlistUserItemCountResponse)null); //Act var actual = await service.GetShortlistItemCount(userId); //Assert actual.Should().Be(0); }
public async Task Then_Gets_The_Shortlist_From_The_Repository( Guid userId, List <Domain.Entities.Shortlist> shortlistFromRepository, [Frozen] Mock <IShortlistRepository> mockRepository, ShortlistService service) { //Arrange mockRepository .Setup(repository => repository.GetAllForUser(userId)) .ReturnsAsync(shortlistFromRepository); //Act var actual = await service.GetAllForUser(userId); //Assert actual.Should().BeEquivalentTo(shortlistFromRepository.Select(shortlist => (Domain.Models.Shortlist)shortlist)); }
public async Task Then_If_There_Already_Is_A_Matching_Item_On_Course_And_Provider_And_Location_It_Is_Not_Added( Domain.Entities.Shortlist item, [Frozen] Mock <IShortlistRepository> repository, ShortlistService service) { //Arrange repository.Setup(x => x.GetShortlistUserItem(item)) .ReturnsAsync(item); //Act await service.CreateShortlistItem(item); //Assert repository.Verify(x => x.Insert(item), Times.Never); }
public async Task Then_The_Api_Is_Called_And_Shortlist_Items_Returned_For_User( Guid userId, GetShortlistUserItemCountResponse shortlistResponse, [Frozen] Mock <ICourseDeliveryApiClient <CourseDeliveryApiConfiguration> > client, ShortlistService service) { //Arrange client .Setup(x => x.Get <GetShortlistUserItemCountResponse>( It.Is <GetShortlistUserItemCountRequest>(c => c.GetUrl.Contains(userId.ToString())))) .ReturnsAsync(shortlistResponse); //Act var actual = await service.GetShortlistItemCount(userId); //Assert actual.Should().Be(shortlistResponse.Count); }
public async Task Then_The_Data_Is_Returned_From_The_Api( Guid shortlistUserId, Domain.Shortlist.ShortlistForUser apiResponse, [Frozen] Mock <IApiClient> apiClient, ShortlistService service) { //Arrange apiClient.Setup(x => x.Get <Domain.Shortlist.ShortlistForUser>( It.Is <GetShortlistForUserApiRequest>(c => c.GetUrl.Contains(shortlistUserId.ToString(), StringComparison.InvariantCultureIgnoreCase)))) .ReturnsAsync(apiResponse); //Act var actual = await service.GetShortlistForUser(shortlistUserId); //Assert actual.Should().BeEquivalentTo(apiResponse); }
public async Task Then_Gets_The_Shortlist_From_The_Repository_With_Providers( Guid userId, List <Domain.Entities.ShortlistProviderWithStandardAndLocation> shortlistFromRepository, [Frozen] Mock <IShortlistRepository> mockRepository, ShortlistService service) { //Arrange mockRepository .Setup(repository => repository.GetShortListForUser(userId)) .ReturnsAsync(shortlistFromRepository); //Act var actual = await service.GetAllForUserWithProviders(userId); //Assert var expected = shortlistFromRepository.BuildShortlistProviderLocation(); actual.ToList().Should().BeEquivalentTo(expected); }