public void WHEN_Passing_Valid_Parameter_SHOULD_Succeed() { var inventoryRepository = new Mock <IInventoryRepository>(); var viewModelMapper = new Mock <IViewModelMapper>(); var inventoryViewService = new InventoryViewService(inventoryRepository.Object, viewModelMapper.Object); Assert.IsNotNull(inventoryViewService); }
protected virtual async Task <List <InventoryItemAvailabilityViewModel> > FindInventoryItemStatus(List <string> skus) { var inventoryItemsAvailabilityViewModel = await InventoryViewService.FindInventoryItemStatus(new FindInventoryItemStatusParam { CultureInfo = ComposerContext.CultureInfo, Scope = ComposerContext.Scope, Date = DateTime.UtcNow, Skus = skus, InventoryLocationId = await InventoryLocationProvider.GetDefaultInventoryLocationIdAsync() }); return(inventoryItemsAvailabilityViewModel); }
public async Task WHEN_Passing_Valid_Parameter_SHOULD_Return_Valid_ViewModel() { var inventoryRepository = new Mock <IInventoryRepository>(); inventoryRepository.Setup(i => i.FindInventoryItemStatus(It.IsAny <FindInventoryItemStatusParam>())) .ReturnsAsync(new List <InventoryItemAvailability> { new InventoryItemAvailability { Date = new DateTime(2015, 8, 17), Identifier = new InventoryItemIdentifier { InventoryLocationId = "S001", Sku = "SKU-BIDON" }, Statuses = new List <InventoryItemStatus> { new InventoryItemStatus { Quantity = 9999, Status = InventoryStatus.PreOrder } } } }); var viewModelMapper = FakeViewModelMapper.CreateFake(typeof(InventoryViewService).Assembly); var inventoryViewService = new InventoryViewService(inventoryRepository.Object, viewModelMapper); var viewModel = await inventoryViewService.FindInventoryItemStatus(new FindInventoryItemStatusParam { Scope = "Canada", CultureInfo = new CultureInfo("en-CA"), Date = new DateTime(2015, 8, 17), Skus = new List <string> { "SKU-BIDOU" } }).ConfigureAwait(false); Assert.IsNotNull(viewModel); Assert.That(viewModel.Count == 1); Assert.That(viewModel[0].Date == new DateTime(2015, 8, 17)); Assert.That(viewModel[0].Identifier.InventoryLocationId == "S001"); Assert.That(viewModel[0].Identifier.Sku == "SKU-BIDON"); Assert.That(viewModel[0].Statuses.Count == 1); Assert.That(viewModel[0].Statuses[0].Quantity == 9999); Assert.That(viewModel[0].Statuses[0].Status == InventoryStatusEnum.PreOrder); }
public void WHEN_Passing_Empty_Skus_SHOULD_Throw_ArgumentException() { var inventoryRepository = new Mock <IInventoryRepository>(); var viewModelMapper = new Mock <IViewModelMapper>(); var inventoryViewService = new InventoryViewService(inventoryRepository.Object, viewModelMapper.Object); var param = new FindInventoryItemStatusParam { Scope = "Canada", CultureInfo = new CultureInfo("en-CA"), Date = new DateTime(2015, 8, 17), Skus = new List <string>() }; Assert.ThrowsAsync <ArgumentException>(() => inventoryViewService.FindInventoryItemStatus(param)); }
public async Task WHEN_Passing_Empty_Parameter_SHOULD_Return_Empty_ViewModel() { var inventoryRepository = new Mock <IInventoryRepository>(); inventoryRepository.Setup(i => i.FindInventoryItemStatus(It.IsAny <FindInventoryItemStatusParam>())) .ReturnsAsync(new List <InventoryItemAvailability> { new InventoryItemAvailability { Date = DateTime.MinValue, Identifier = new InventoryItemIdentifier { InventoryLocationId = string.Empty, Sku = string.Empty }, Statuses = new List <InventoryItemStatus> { new InventoryItemStatus { Quantity = null, Status = GetRandom.Enumeration <InventoryStatus>() } } } }); var viewModelMapper = FakeViewModelMapper.CreateFake(typeof(InventoryViewService).Assembly); var inventoryViewService = new InventoryViewService(inventoryRepository.Object, viewModelMapper); var viewModel = await inventoryViewService.FindInventoryItemStatus(new FindInventoryItemStatusParam { Scope = string.Empty, Date = DateTime.MinValue, CultureInfo = new CultureInfo("en-CA"), Skus = new List <string> { string.Empty } }).ConfigureAwait(false); Assert.IsNotNull(viewModel); Assert.That(viewModel.Count == 1); Assert.That(viewModel[0].Date == DateTime.MinValue); Assert.That(viewModel[0].Identifier.InventoryLocationId == string.Empty); Assert.That(viewModel[0].Identifier.Sku == string.Empty); Assert.That(viewModel[0].Statuses.Count == 1); Assert.That(viewModel[0].Statuses[0].Quantity == null); }