Пример #1
0
        public CartAggregateRepositoryTests()
        {
            _cartValidationContextFactory = new Mock <ICartValidationContextFactory>();
            _cartValidationContextFactory
            .Setup(x => x.CreateValidationContextAsync(It.IsAny <CartAggregate>()))
            .ReturnsAsync(new CartValidationContext());

            _shoppingCartSearchService = new Mock <IShoppingCartSearchService>();
            _shoppingCartService       = new Mock <IShoppingCartService>();
            _currencyService           = new Mock <ICurrencyService>();
            _currencyService           = new Mock <ICurrencyService>();
            _memberService             = new Mock <IMemberService>();
            _storeService   = new Mock <IStoreService>();
            _memberResolver = new Mock <IMemberResolver>();

            repository = new CartAggregateRepository(
                () => _fixture.Create <CartAggregate>(),
                _shoppingCartSearchService.Object,
                _shoppingCartService.Object,
                _currencyService.Object,
                _memberResolver.Object,
                _storeService.Object,
                _cartValidationContextFactory.Object
                );
        }
Пример #2
0
        public async Task GetCartForShoppingCartAsync_CartFound_AggregateReturnedCorrectly()
        {
            // Arrange
            var cartAggregate = GetValidCartAggregate();

            var repository = new CartAggregateRepository(
                () => cartAggregate,
                _shoppingCartSearchService.Object,
                _shoppingCartService.Object,
                _currencyService.Object,
                _memberResolver.Object,
                _storeService.Object,
                _cartProductServiceMock.Object
                );

            var storeId = "Store";
            var store   = _fixture.Create <Store>();

            store.Id = storeId;

            var shoppingCart = _fixture.Create <ShoppingCart>();

            shoppingCart.StoreId = storeId;

            _storeService.Setup(x => x.GetByIdAsync(It.Is <string>(x => x == storeId), It.IsAny <string>()))
            .ReturnsAsync(store);

            var currencies = _fixture.CreateMany <Currency>(1).ToList();

            _currencyService.Setup(x => x.GetAllCurrenciesAsync())
            .ReturnsAsync(currencies);

            var customer = _fixture.Create <Contact>();

            _memberResolver.Setup(x => x.ResolveMemberByIdAsync(It.Is <string>(x => x == shoppingCart.CustomerId)))
            .ReturnsAsync(customer);

            _cartProductServiceMock.Setup(x => x.GetCartProductsByIdsAsync(It.Is <CartAggregate>(x => x == cartAggregate), It.IsAny <IEnumerable <string> >()))
            .ReturnsAsync(new List <CartProduct>());

            // Act
            var result = await repository.GetCartForShoppingCartAsync(shoppingCart);

            // Assert
            result.Id.Should().Be(shoppingCart.Id);
            result.Cart.Should().Be(shoppingCart);
            result.Member.Should().Be(customer);
            result.Store.Should().Be(store);
            result.Currency.Code.Should().Be(currencies.FirstOrDefault().Code);
        }
Пример #3
0
        public CartAggregateRepositoryTests()
        {
            _shoppingCartSearchService = new Mock <ShoppingCartSearchServiceStub>();
            _shoppingCartService       = new Mock <ShoppingCartServiceStub>();
            _currencyService           = new Mock <ICurrencyService>();
            _storeService   = new Mock <IStoreService>();
            _memberResolver = new Mock <IMemberResolver>();

            repository = new CartAggregateRepository(
                () => _fixture.Create <CartAggregate>(),
                _shoppingCartSearchService.Object,
                _shoppingCartService.Object,
                _currencyService.Object,
                _memberResolver.Object,
                _storeService.Object,
                null
                );
        }