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 ); }
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); }
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 ); }