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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 10
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);
        }