public void UpdateInRouteListAmount_WhenCall_UpdatesQuantityCorrectly() { // arrange Vodovoz.Domain.Logistic.RouteList routeListMock01 = Substitute.For <Vodovoz.Domain.Logistic.RouteList>(); Nomenclature nomenclatureMock01 = Substitute.For <Nomenclature>(); nomenclatureMock01.Id.Returns(101); Nomenclature nomenclatureMock02 = Substitute.For <Nomenclature>(); nomenclatureMock02.Id.Returns(102); Nomenclature nomenclatureMock03 = Substitute.For <Nomenclature>(); nomenclatureMock03.Id.Returns(103); List <GoodsInRouteListResultWithSpecialRequirements> listOfGoods = new List <GoodsInRouteListResultWithSpecialRequirements> { new GoodsInRouteListResultWithSpecialRequirements { NomenclatureId = nomenclatureMock01.Id, Amount = 1 }, new GoodsInRouteListResultWithSpecialRequirements { NomenclatureId = nomenclatureMock02.Id, Amount = 2 }, new GoodsInRouteListResultWithSpecialRequirements { NomenclatureId = nomenclatureMock03.Id, Amount = 3 } }; IUnitOfWork uowMock = Substitute.For <IUnitOfWork>(); IRouteListRepository routeListRepositoryMock = Substitute.For <IRouteListRepository>(); routeListRepositoryMock.GetGoodsAndEquipsInRLWithSpecialRequirements(uowMock, routeListMock01, null).Returns(listOfGoods); CarLoadDocument loadDocumentUnderTest = new CarLoadDocument { RouteList = routeListMock01, Items = new List <CarLoadDocumentItem> { new CarLoadDocumentItem { Nomenclature = nomenclatureMock01, AmountInRouteList = 11 }, new CarLoadDocumentItem { Nomenclature = nomenclatureMock02, AmountInRouteList = 12 }, new CarLoadDocumentItem { Nomenclature = nomenclatureMock03, AmountInRouteList = 13 } } }; // act loadDocumentUnderTest.UpdateInRouteListAmount(uowMock, routeListRepositoryMock); // assert Assert.That(loadDocumentUnderTest.Items.Count, Is.EqualTo(3)); Assert.That(loadDocumentUnderTest.Items[0].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock01.Id).Amount)); Assert.That(loadDocumentUnderTest.Items[1].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock02.Id).Amount)); Assert.That(loadDocumentUnderTest.Items[2].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock03.Id).Amount)); }
public void FillFromRouteList_WhenPassARouteList_CarLoadItemsCreatingCorrectly() { // arrange Vodovoz.Domain.Logistic.RouteList routeListMock01 = Substitute.For <Vodovoz.Domain.Logistic.RouteList>(); Warehouse warehouseMock01 = Substitute.For <Warehouse>(); ISubdivisionRepository subdivisionRepositoryMock01 = Substitute.For <ISubdivisionRepository>(); Nomenclature nomenclatureMock01 = Substitute.For <Nomenclature>(); nomenclatureMock01.Id.Returns(101); Nomenclature nomenclatureMock02 = Substitute.For <Nomenclature>(); nomenclatureMock02.Id.Returns(102); Nomenclature nomenclatureMock03 = Substitute.For <Nomenclature>(); nomenclatureMock03.Id.Returns(103); List <GoodsInRouteListResultWithSpecialRequirements> listOfGoods = new List <GoodsInRouteListResultWithSpecialRequirements> { new GoodsInRouteListResultWithSpecialRequirements { NomenclatureId = nomenclatureMock01.Id, Amount = 10 }, new GoodsInRouteListResultWithSpecialRequirements { NomenclatureId = nomenclatureMock02.Id, Amount = 20 }, new GoodsInRouteListResultWithSpecialRequirements { NomenclatureId = nomenclatureMock03.Id, Amount = 30 } }; IUnitOfWork uowMock = Substitute.For <IUnitOfWork>(); uowMock.GetById <Nomenclature>(Arg.Any <int[]>()).Returns( new List <Nomenclature> { nomenclatureMock01, nomenclatureMock02, nomenclatureMock03 } ); IRouteListRepository routeListRepositoryMock = Substitute.For <IRouteListRepository>(); routeListRepositoryMock.GetGoodsAndEquipsInRLWithSpecialRequirements(uowMock, routeListMock01, subdivisionRepositoryMock01, warehouseMock01).Returns(listOfGoods); CarLoadDocument loadDocumentUnderTest = new CarLoadDocument { Warehouse = warehouseMock01, RouteList = routeListMock01 }; // act loadDocumentUnderTest.FillFromRouteList(uowMock, routeListRepositoryMock, subdivisionRepositoryMock01, true); // assert Assert.That(loadDocumentUnderTest.Items.Count, Is.EqualTo(3)); Assert.That(loadDocumentUnderTest.Items[0].Document, Is.EqualTo(loadDocumentUnderTest)); Assert.That(loadDocumentUnderTest.Items[0].Nomenclature, Is.EqualTo(nomenclatureMock01)); Assert.That(loadDocumentUnderTest.Items[0].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock01.Id).Amount)); Assert.That(loadDocumentUnderTest.Items[0].Amount, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock01.Id).Amount)); Assert.That(loadDocumentUnderTest.Items[1].Document, Is.EqualTo(loadDocumentUnderTest)); Assert.That(loadDocumentUnderTest.Items[1].Nomenclature, Is.EqualTo(nomenclatureMock02)); Assert.That(loadDocumentUnderTest.Items[1].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock02.Id).Amount)); Assert.That(loadDocumentUnderTest.Items[1].Amount, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock02.Id).Amount)); Assert.That(loadDocumentUnderTest.Items[2].Document, Is.EqualTo(loadDocumentUnderTest)); Assert.That(loadDocumentUnderTest.Items[2].Nomenclature, Is.EqualTo(nomenclatureMock03)); Assert.That(loadDocumentUnderTest.Items[2].AmountInRouteList, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock03.Id).Amount)); Assert.That(loadDocumentUnderTest.Items[2].Amount, Is.EqualTo(listOfGoods.FirstOrDefault(x => x.NomenclatureId == nomenclatureMock03.Id).Amount)); }