public void WriteoffWaybill_Repeat_By_Batch_And_Article_Row_Addition_Must_Throw_Exception() { try { var writeoffWaybillRow = new WriteoffWaybillRow(receiptWaybillRow, 50); writeoffWaybill.AddRow(writeoffWaybillRow); writeoffWaybill.AddRow(writeoffWaybillRow); Assert.Fail("Исключение не вызвано."); } catch (Exception ex) { Assert.AreEqual("Позиция накладной по данной партии и товару уже добавлена.", ex.Message); } }
public void Init() { // инициализация IoC IoCInitializer.Init(); setting = new Setting() { UseReadyToAcceptStateForWriteOffWaybill = false }; settingRepository = Mock.Get(IoCContainer.Resolve <ISettingRepository>()); settingRepository.Setup(x => x.Get()).Returns(setting); storage = new Storage("qwe", StorageType.ExtraStorage) { Id = 42 }; accOrgSender = new Mock <AccountOrganization>(); accOrgSender.Setup(x => x.Id).Returns(1); accOrgRecipient = new Mock <AccountOrganization>(); accOrgRecipient.Setup(x => x.Id).Returns(2); valueAddedTax = new ValueAddedTax(); user = new Mock <User>(); user.Setup(x => x.GetPermissionDistributionType(It.IsAny <Permission>())).Returns(PermissionDistributionType.All); createdBy = new Mock <User>(); createdBy.Setup(x => x.GetPermissionDistributionType(It.IsAny <Permission>())).Returns(PermissionDistributionType.All); acceptedBy = new Mock <User>(); acceptedBy.Setup(x => x.GetPermissionDistributionType(It.IsAny <Permission>())).Returns(PermissionDistributionType.All); var articleGroup = new ArticleGroup("Тестовая группа", "Тестовая группа"); var measureUnit = new MeasureUnit("шт.", "Штука", "123", 0) { Id = 1 }; articleA = new Article("Тестовый товар A", articleGroup, measureUnit, true) { Id = 1 }; receiptWaybillRow = new Mock <ReceiptWaybillRow>(); receiptWaybillRow.Setup(x => x.Article).Returns(articleA); articleAccountingPrice = new List <ArticleAccountingPrice>() { new ArticleAccountingPrice(articleA, 100) }; writeoffWaybillRepository = Mock.Get(IoCContainer.Resolve <IWriteoffWaybillRepository>()); articleRepository = Mock.Get(IoCContainer.Resolve <IArticleRepository>()); articlePriceService = Mock.Get(IoCContainer.Resolve <IArticlePriceService>()); articlePriceService.Setup(x => x.GetArticleAccountingPrices(It.Is <short>(y => y == storage.Id), It.IsAny <IEnumerable <int> >())).Returns(articleAccountingPrice); articlePriceService.Setup(x => x.GetArticleAccountingPrices(It.Is <short>(y => y == storage.Id), It.IsAny <ISubQuery>(), It.IsAny <DateTime>())).Returns(articleAccountingPrice); articleAvailabilityService = Mock.Get(IoCContainer.Resolve <IArticleAvailabilityService>()); articleMovementService = Mock.Get(IoCContainer.Resolve <IArticleMovementService>()); receiptWaybillService = Mock.Get(IoCContainer.Resolve <IReceiptWaybillService>()); articleRevaluationService = Mock.Get(IoCContainer.Resolve <IArticleRevaluationService>()); factualFinancialArticleMovementService = new Mock <IFactualFinancialArticleMovementService>(); articleMovementOperationCountService = new Mock <IArticleMovementOperationCountService>(); storageRepository = Mock.Get(IoCContainer.Resolve <IStorageRepository>()); userRepository = Mock.Get(IoCContainer.Resolve <IUserRepository>()); writeoffWaybillService = new WriteoffWaybillService(settingRepository.Object, writeoffWaybillRepository.Object, storageRepository.Object, userRepository.Object, articleMovementService.Object, articlePriceService.Object, factualFinancialArticleMovementService.Object, articleMovementOperationCountService.Object, articleAvailabilityService.Object, receiptWaybillService.Object, articleRevaluationService.Object); waybill = new WriteoffWaybill("123", DateTime.Now, storage, accOrgSender.Object, new WriteoffReason(), user.Object, createdBy.Object, DateTime.Now); WriteoffWaybillRow row = new WriteoffWaybillRow(receiptWaybillRow.Object, 10); waybill.AddRow(row); articleMovementService.Setup(x => x.CancelArticleAcceptance(It.IsAny <WriteoffWaybill>())) .Returns(new List <OutgoingWaybillRowSourceReservationInfo>() { new OutgoingWaybillRowSourceReservationInfo(row.Id, 1, 1) }); articleMovementService.Setup(x => x.AcceptArticles(It.IsAny <WriteoffWaybill>())) .Returns(new List <OutgoingWaybillRowSourceReservationInfo>() { new OutgoingWaybillRowSourceReservationInfo(row.Id, 1, 1) }); }