Example #1
0
        public async Task CreateAsync_ForOrderWithoutDiscountShouldReturnProperProductsOrder()
        {
            // arrange
            var(productsWithCharmsOrderDto, products, charms, expected) = PrepareTestDataWithoutDiscount();
            productQueryService.Setup(s => s.GetRawByIdsAsync(It.IsAny <IEnumerable <int> >())).ReturnsAsync(products);
            charmQueryService.Setup(s => s.GetRawByIdsAsync(It.IsAny <List <Guid> >())).ReturnsAsync(charms);
            productCategoryDiscountQueryService.Setup(s => s.GetRawActiveAsync())
            .ReturnsAsync(new List <ProductCategoryDiscount>());
            productCategoryDiscountQueryService.Setup(s =>
                                                      s.ApplyDiscountsToProducts(It.IsAny <List <Product> >(), It.IsAny <List <ProductCategoryDiscount> >()))
            .Returns(new List <(int, ProductCategoryDiscount)>());

            var sut = new ProductOrderQueryService(productQueryService.Object, charmQueryService.Object,
                                                   productCategoryDiscountQueryService.Object);

            // act
            var result = await sut.CreateAsync(productsWithCharmsOrderDto);

            // assert
            var orderedResult = result.OrderBy(s => s.Product.Id).ToList();

            orderedResult.Should()
            .BeEquivalentTo(expected, s => s.Excluding(x => x.Id)
                            .Excluding(x => x.RuntimeType == typeof(Guid)));
        }
 public ProductOrderQueryServiceTests()
 {
     productQueryServiceMock = new Mock <IProductQueryService>();
     charmQueryServiceMock   = new Mock <ICharmQueryService>();
     productCategoryDiscountQueryServiceMock = new Mock <IProductCategoryDiscountQueryService>();
     productOrderHelperMock = new Mock <IProductOrderHelper>();
     mapperMock             = AutoMapperConfig.Initialize();
     sut = new ProductOrderQueryService(productQueryServiceMock.Object,
                                        charmQueryServiceMock.Object,
                                        productCategoryDiscountQueryServiceMock.Object,
                                        productOrderHelperMock.Object);
 }
 public ProductOrderQueryServiceTests()
 {
     productQueryServiceMock = new Mock <IProductQueryService>();
     charmQueryServiceMock   = new Mock <ICharmQueryService>();
     productCategoryDiscountQueryServiceMock = new Mock <IProductCategoryDiscountQueryService>();
     productOrderHelperMock = new Mock <IProductOrderHelper>();
     productOrderHelperMock
     .Setup(x => x.ApplyCharmsToProductOrder(It.IsAny <ProductOrder>(), It.IsAny <ProductWithCharmsOrderDto>(),
                                             It.IsAny <IList <Charm> >(), It.IsAny <decimal>()))
     .Returns(Fixture.Create <ApplyCharmsToProductOrderResult>());
     sut = new ProductOrderQueryService(productQueryServiceMock.Object,
                                        charmQueryServiceMock.Object,
                                        productCategoryDiscountQueryServiceMock.Object,
                                        productOrderHelperMock.Object);
 }