public async Task SaveChanges_ArrayOfThumbnailOptions_NewThumbnailOptionsSaved()
        {
            var optionEntities = ThumbnailOptionEntitesDataSource.ToList();

            var mock = new Mock <IThumbnailRepository>();

            mock.SetupGet(x => x.UnitOfWork).Returns(new Mock <IUnitOfWork>().Object);
            mock.Setup(x => x.Add(It.IsAny <ThumbnailOptionEntity>()))
            .Callback((ThumbnailOptionEntity entity) =>
            {
                optionEntities.Add(entity);
            });
            mock.Setup(r => r.GetThumbnailOptionsByIdsAsync(It.IsAny <string[]>()).Result)
            .Returns((string[] ids) =>
            {
                return(optionEntities.Where(t => ids.Contains(t.Id)).ToArray());
            });

            var sut = new ThumbnailOptionService(() => mock.Object);
            await sut.SaveOrUpdateAsync(new[]
            {
                new ThumbnailOption()
                {
                    Id = "NewOptionId", Name = "New Option name"
                }
            });

            Assert.Contains(optionEntities, x => x.Id == "NewOptionId");
        }
        public void Delete_ThumbnailOptionIds_DeletedThumbnailOptionWithPassedIds()
        {
            var optionEntites = ThumbnailOptionEntitesDataSource.ToList();

            var ids = optionEntites.Select(t => t.Id).ToArray();

            var mock = new Mock <IThumbnailRepository>();

            mock.SetupGet(x => x.UnitOfWork).Returns(new Mock <IUnitOfWork>().Object);
            mock.Setup(r => r.RemoveThumbnailOptionsByIds(It.IsIn <string[]>(ids)))
            .Callback((string[] arr) =>
            {
                var entities = optionEntites.Where(e => arr.Contains(e.Id)).ToList();
                foreach (var entity in entities)
                {
                    optionEntites.Remove(entity);
                }
            });

            var sut = new ThumbnailOptionService(() => mock.Object);

            sut.RemoveByIdsAsync(ids);

            Assert.Empty(optionEntites);
        }
Exemple #3
0
        public void Search_ThumbnailOptionSearchCriteria_ReturnsGenericSearchResponseOfTasksInExpectedOrder()
        {
            var repoMock       = GetOptionsRepositoryMock();
            var optionsService = new ThumbnailOptionService(() => repoMock.Object);

            var target   = new ThumbnailOptionSearchService(() => repoMock.Object, optionsService);
            var criteria = new ThumbnailOptionSearchCriteria {
                Sort = "Name:desc;FileSuffix:desc"
            };
            var resultTasks = target.SearchAsync(criteria).GetAwaiter().GetResult();

            var expectedTasks = ThumbnailTaskEntitiesDataSource.Select(x => x.ToModel(new ThumbnailOption())).OrderByDescending(t => t.Name).ThenByDescending(t => t.FileSuffix).ToArray();

            Assert.Equal(expectedTasks, resultTasks.Results);
        }
Exemple #4
0
        public void GetByIds_ArrayOfIdis_ReturnsArrayOfThumbnailOption()
        {
            var optionEntites = ThumbnailOptionEntitesDataSource.ToArray();

            var ids   = optionEntites.Select(t => t.Id).ToArray();
            var tasks = optionEntites.Select(t => t.ToModel(new ThumbnailOption())).ToArray();

            var mock = new Mock <IThumbnailRepository>();

            mock.Setup(r => r.GetThumbnailOptionsByIdsAsync(It.IsIn <string[]>(ids)))
            .ReturnsAsync(optionEntites.Where(o => ids.Contains(o.Id)).ToArray());

            var sut    = new ThumbnailOptionService(() => mock.Object);
            var result = sut.GetByIdsAsync(ids);

            Assert.Equal(result.Result.Length, tasks.Length);
        }
        public async Task SaveChanges_ArrayOfThumbnailOptions_ThumbnailOptionsUpdatedAsync()
        {
            var optionEntities = ThumbnailOptionEntitesDataSource.ToArray();
            var options        = ThumbnailOptionDataSource.ToArray();

            var mock = new Mock <IThumbnailRepository>();

            mock.SetupGet(x => x.UnitOfWork).Returns(new Mock <IUnitOfWork>().Object);
            mock.Setup(r => r.GetThumbnailOptionsByIdsAsync(It.IsAny <string[]>()).Result)
            .Returns((string[] ids) =>
            {
                var result = optionEntities.Where(t => ids.Contains(t.Id)).ToArray();
                return(result);
            });

            var sut = new ThumbnailOptionService(() => mock.Object);
            await sut.SaveOrUpdateAsync(options);

            Assert.Contains(optionEntities, o => o.Name == "New Name");
        }