public void Execute_Should_ThrowException()
        {
            // arrange
            var categoryId = "fakeId";
            var entries    = new List <ListEntry> {
                new ListEntry {
                    Id = categoryId
                }
            };
            var context = new CategoryChangeBulkActionContext {
                CategoryId = categoryId
            };
            var serviceProvider = new Mock <ILazyServiceProvider>();
            var bulkAction      = new CategoryChangeBulkAction(serviceProvider.Object, context);

            // act
            var action = new Action(
                () =>
            {
                bulkAction.Execute(entries);
            });

            // assert
            action.Should().Throw <Exception>();
        }
        private IBulkAction BuildBulkAction(CategoryChangeBulkActionContext context)
        {
            var serviceProvider = new Mock <ILazyServiceProvider> {
                DefaultValueProvider = DefaultValueProvider.Mock
            };

            return(new CategoryChangeBulkAction(serviceProvider.Object, context));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="CategoryChangeBulkAction"/> class.
 /// </summary>
 /// <param name="lazyServiceProvider">
 /// The service provider.
 /// </param>
 /// <param name="context">
 /// The context.
 /// </param>
 public CategoryChangeBulkAction(
     CategoryChangeBulkActionContext context,
     ICatalogService catalogService,
     ListEntryMover <Category> categoryListEntryMover,
     ListEntryMover <CatalogProduct> productListEntryMover)
 {
     _context                = context ?? throw new ArgumentNullException(nameof(context));
     _catalogService         = catalogService;
     _categoryListEntryMover = categoryListEntryMover;
     _productListEntryMover  = productListEntryMover;
 }
        public void Create_Result_CategoryChangeBulkAction()
        {
            // arrange
            var factory = BuildFactory();
            var context = new CategoryChangeBulkActionContext();

            // act
            var result = factory.Create(context);

            // assert
            result.Should().BeOfType <CategoryChangeBulkAction>();
        }
Beispiel #5
0
        public async Task Execute_Result_BulkActionResult()
        {
            // arrange
            var context    = new CategoryChangeBulkActionContext();
            var bulkAction = BuildBulkAction(context);

            // act
            var result = await bulkAction.ExecuteAsync(Enumerable.Empty <IEntity>());

            // assert
            result.Should().BeOfType(typeof(BulkActionResult));
        }
Beispiel #6
0
        public void Context_Result_NotNull()
        {
            // arrange
            var context    = new CategoryChangeBulkActionContext();
            var bulkAction = BuildBulkAction(context);

            // act
            var result = bulkAction.Context;

            // assert
            result.Should().NotBeNull();
        }
        public void Execute_Should_InvokeMethods(Mock <ILazyServiceProvider> serviceProvider, Action assertAction)
        {
            // arrange
            var context    = new CategoryChangeBulkActionContext();
            var bulkAction = new CategoryChangeBulkAction(serviceProvider.Object, context);

            // act
            bulkAction.Execute(Enumerable.Empty <IEntity>());

            // assert
            serviceProvider.VerifyAll();
            assertAction();
        }
Beispiel #8
0
        public async Task GetActionData_Result_NullAsync()
        {
            // arrange
            var context = new CategoryChangeBulkActionContext {
                CatalogId = "catalog"
            };
            var bulkAction = BuildBulkAction(context);

            // act
            var result = await bulkAction.GetActionDataAsync();

            // assert
            result.Should().BeNull();
        }
Beispiel #9
0
        public async Task Validate_Result_BulkActionResult()
        {
            // arrange
            var context = new CategoryChangeBulkActionContext {
                CatalogId = "catalog"
            };
            var bulkAction = BuildBulkAction(context);

            // act
            var result = await bulkAction.ValidateAsync();

            // assert
            result.Should().BeOfType(typeof(BulkActionResult));
        }
Beispiel #10
0
        public void Create_Result_BaseDataSource()
        {
            // arrange
            var dataSourceFactory = BuildDataSourceFactory();
            var dataQuery         = new Mock <DataQuery> {
                DefaultValueProvider = DefaultValueProvider.Mock
            };
            var context = new CategoryChangeBulkActionContext {
                DataQuery = dataQuery.Object
            };

            // act
            var result = dataSourceFactory.Create(context);

            // assert
            result.Should().BeOfType <BaseDataSource>();
        }
Beispiel #11
0
        public async Task Validate_Result_HaveErrorCount(int errorCount)
        {
            // arrange
            var context = new CategoryChangeBulkActionContext {
                CatalogId = "catalog"
            };

            _catalogServiceMock.Setup(t => t.GetByIdsAsync(new[] { "catalog" }, null))
            .ReturnsAsync(new[] { new Catalog {
                                      IsVirtual = true
                                  } });

            var bulkAction = BuildBulkAction(context);

            // act
            var result = await bulkAction.ValidateAsync();

            // assert
            result.Errors.Should().HaveCount(errorCount, "Because we can't move in virtual catalog'");
        }
Beispiel #12
0
        public async Task Validate_Result_False()
        {
            // arrange
            var context = new CategoryChangeBulkActionContext {
                CatalogId = "catalog"
            };

            _catalogServiceMock.Setup(t => t.GetByIdsAsync(new [] { "catalog" }, It.IsAny <string>()))
            .ReturnsAsync(new [] { new Catalog {
                                       IsVirtual = true
                                   } });

            var bulkAction = BuildBulkAction(context);

            // act
            var result = await bulkAction.ValidateAsync();

            // assert
            result.Succeeded.Should().Be(false);
        }
        public void Validate_Result_True()
        {
            // arrange
            var context = new CategoryChangeBulkActionContext {
                CatalogId = "catalog"
            };
            var catalogService  = new Mock <ICatalogService>();
            var serviceProvider = new Mock <ILazyServiceProvider>();

            catalogService.Setup(t => t.GetById("catalog"))
            .Returns(Mock.Of <Catalog>(catalog => catalog.IsVirtual == false));
            serviceProvider.Setup(t => t.Resolve <ICatalogService>()).Returns(catalogService.Object);

            var bulkAction = new CategoryChangeBulkAction(serviceProvider.Object, context);

            // act
            var result = bulkAction.Validate();

            // assert
            result.Succeeded.Should().Be(true);
        }
Beispiel #14
0
        public async Task Validate_Result_True()
        {
            // arrange
            var context = new CategoryChangeBulkActionContext {
                CatalogId = "catalog"
            };
            var catalogService = new Mock <ICatalogService>();

            catalogService.Setup(t => t.GetByIdsAsync(new[] { "catalog" }, null))
            .ReturnsAsync(new[] { new Catalog {
                                      IsVirtual = true
                                  } });

            var bulkAction = BuildBulkAction(context);

            // act
            var result = await bulkAction.ValidateAsync();

            // assert
            result.Succeeded.Should().Be(true);
        }
        public void Validate_Result_HaveErrorCount(int errorCount)
        {
            // arrange
            var context = new CategoryChangeBulkActionContext {
                CatalogId = "catalog"
            };
            var catalogService  = new Mock <ICatalogService>();
            var serviceProvider = new Mock <ILazyServiceProvider>();

            catalogService.Setup(t => t.GetById("catalog"))
            .Returns(Mock.Of <Catalog>(catalog => catalog.IsVirtual == true));
            serviceProvider.Setup(t => t.Resolve <ICatalogService>()).Returns(catalogService.Object);

            var bulkAction = new CategoryChangeBulkAction(serviceProvider.Object, context);

            // act
            var result = bulkAction.Validate();

            // assert
            result.Errors.Should().HaveCount(errorCount, "Because we can't move in virtual catalog'");
        }
Beispiel #16
0
        public void Execute_Should_ThrowException()
        {
            // arrange
            var categoryId = "fakeId";
            var entries    = new List <ListEntryBase> {
                new ListEntryBase {
                    Id = categoryId
                }
            };
            var context = new CategoryChangeBulkActionContext {
                CategoryId = categoryId
            };
            var bulkAction = BuildBulkAction(context);

            // act
            var action = new Action(
                () =>
            {
                bulkAction.ExecuteAsync(entries).GetAwaiter().GetResult();
            });

            // assert
            action.Should().Throw <Exception>();
        }
Beispiel #17
0
 private IBulkAction BuildBulkAction(CategoryChangeBulkActionContext context)
 {
     return(new CategoryChangeBulkAction(context, _catalogServiceMock.Object, _categoryListEntryMoverMock.Object, _productListEntryMoverMock.Object));
 }