public IOrganizationProvider CreateOrderOrganizationProvider() { var organizationParametersProvider = new OrganizationParametersProvider(ParametersProvider.Instance); var orderParametersProvider = new OrderParametersProvider(ParametersProvider.Instance); return(new Stage2OrganizationProvider(organizationParametersProvider, orderParametersProvider)); }
public void CreateFuelExpenseOperationTest() { // arrange expenseCategoryMock = Substitute.For <ExpenseCategory>(); CategoryRepository.FuelDocumentExpenseCategoryTestGap = (arg) => expenseCategoryMock; FuelType fuelTypeMock = Substitute.For <FuelType>(); fuelTypeMock.Cost.Returns(30); Car carMock = Substitute.For <Car>(); carMock.IsCompanyCar.Returns(false); Organization organisationMock = Substitute.For <Organization>(); IUnitOfWork uowMock = Substitute.For <IUnitOfWork>(); VodovozRouteList routeListMock = Substitute.For <VodovozRouteList>(); Subdivision subdivisionMock = Substitute.For <Subdivision>(); routeListMock.ClosingSubdivision = subdivisionMock; IFuelRepository fuelRepositoryMock = Substitute.For <IFuelRepository>(); fuelRepositoryMock.GetFuelBalanceForSubdivision(uowMock, subdivisionMock, fuelTypeMock).Returns(50); OrganizationParametersProvider organisationParametersProviderMock = Substitute.For <OrganizationParametersProvider>(); CashDistributionCommonOrganisationProvider commonOrganisationProviderMock = Substitute.For <CashDistributionCommonOrganisationProvider>(organisationParametersProviderMock); commonOrganisationProviderMock.GetCommonOrganisation(uowMock).Returns(organisationMock); var fuelDocument = new FuelDocument(); fuelDocument.Driver = Substitute.For <Employee>(); fuelDocument.Car = carMock; fuelDocument.Date = DateTime.Now; fuelDocument.LastEditDate = DateTime.Now; fuelDocument.Fuel = fuelTypeMock; fuelDocument.RouteList = routeListMock; fuelDocument.UoW = uowMock; fuelDocument.FuelCoupons = 40; fuelDocument.PayedForFuel = null; fuelDocument.Subdivision = subdivisionMock; // act fuelDocument.CreateOperations(fuelRepositoryMock, commonOrganisationProviderMock); // assert AssertsAccumulator.Create .Accumulate(() => Assert.That(fuelDocument.FuelExpenseOperation.FuelDocument, Is.SameAs(fuelDocument), "Документ в операции должен совпадать с документом выдачи топлива")) .Accumulate(() => Assert.That(fuelDocument.FuelExpenseOperation.FuelTransferDocument, Is.Null, "Документ перемещения топлива не должен быть заполнен")) .Accumulate(() => Assert.That(fuelDocument.FuelExpenseOperation.RelatedToSubdivision, Is.SameAs(fuelDocument.RouteList.ClosingSubdivision), "Подразделение в операции должно совпадать с подразделением в маршрутном листе")) .Accumulate(() => Assert.That(fuelDocument.FuelExpenseOperation.FuelLiters, Is.EqualTo(fuelDocument.FuelCoupons), "Списанное топливо должно совпадать с топливом выданным талонами в документе выдачи")) .Release(); }
public void CreateFuelCashExpenseTest__Without_ExpenseCategory__Thrown_InvalidProgrammException_and_FuelCashExpense_must_be_null() { // arrange // имитация того что нужной статьи не было найдено CategoryRepository.FuelDocumentExpenseCategoryTestGap = (arg) => { return(null); }; var fuelDocument = new FuelDocument(); FuelType fuelTypeMock = Substitute.For <FuelType>(); IUnitOfWork uowMock = Substitute.For <IUnitOfWork>(); Subdivision subdivisionMock = Substitute.For <Subdivision>(); Organization organisationMock = Substitute.For <Organization>(); IFuelRepository fuelRepositoryMock = Substitute.For <IFuelRepository>(); OrganizationParametersProvider organisationParametersProviderMock = Substitute.For <OrganizationParametersProvider>(); CashDistributionCommonOrganisationProvider commonOrganisationProviderMock = Substitute.For <CashDistributionCommonOrganisationProvider>(organisationParametersProviderMock); commonOrganisationProviderMock.GetCommonOrganisation(uowMock).Returns(organisationMock); // act, assert Assert.Throws(typeof(InvalidProgramException), () => fuelDocument.CreateOperations(fuelRepositoryMock, commonOrganisationProviderMock)); // additional assert Assert.That(fuelDocument.FuelCashExpense, Is.Null, "При исключении в момент создания операций, операции оплаты топлива не должно быть создано"); }
public ExportData(IUnitOfWork uow, Export1cMode mode, DateTime dateStart, DateTime dateEnd) { this.Objects = new List <ObjectNode>(); this.UoW = uow; this.ExportMode = mode; this.Version = "2.0"; this.ExportDate = DateTime.Now; this.StartPeriodDate = dateStart; this.EndPeriodDate = dateEnd; this.SourceName = "Торговля+Склад, редакция 9.2"; this.DestinationName = "БухгалтерияПредприятия"; this.ConversionRulesId = "70e9dbac-59df-44bb-82c6-7d4f30d37c74"; this.Comment = ""; this.AccountCatalog = new AccountCatalog(this); this.BankCatalog = new BankCatalog(this); this.ContractCatalog = new ContractCatalog(this); this.CounterpartyCatalog = new CounterpartyCatalog(this); this.CurrencyCatalog = new CurrencyCatalog(this); this.MeasurementUnitCatalog = new MeasurementUnitsCatalog(this); this.NomenclatureCatalog = new NomenclatureCatalog(this); this.NomenclatureTypeCatalog = new NomenclatureType1cTypeCatalog(this); this.NomenclatureGroupCatalog = new NomenclatureGroupCatalog(this); this.OrganizationCatalog = new OrganizationCatalog(this); this.WarehouseCatalog = new WarehouseCatalog(this); this.ExchangeRules = new RulesNode(); var orgProvider = new OrganizationParametersProvider(new ParametersProvider()); this.cashlessOrganization = UoW.GetById <Organization>(orgProvider.GetCashlessOrganisationId); }
public void CreateFuelCashExpenseTest() { // arrange var categoryRepositoryMock = Substitute.For <ICategoryRepository>(); expenseCategoryMock = Substitute.For <ExpenseCategory>(); categoryRepositoryMock.FuelDocumentExpenseCategory(null).Returns(expenseCategoryMock); FuelType fuelTypeMock = Substitute.For <FuelType>(); fuelTypeMock.Cost.Returns(30); Car carMock = Substitute.For <Car>(); carMock.IsCompanyCar.Returns(false); Organization organisationMock = Substitute.For <Organization>(); VodovozRouteList routeListMock = Substitute.For <VodovozRouteList>(); Subdivision subdivisionMock = Substitute.For <Subdivision>(); IUnitOfWork uowMock = Substitute.For <IUnitOfWork>(); IFuelRepository fuelRepositoryMock = Substitute.For <IFuelRepository>(); fuelRepositoryMock.GetFuelBalanceForSubdivision(uowMock, subdivisionMock, fuelTypeMock).Returns(50); routeListMock.ClosingSubdivision = subdivisionMock; OrganizationParametersProvider organisationParametersProviderMock = Substitute.For <OrganizationParametersProvider>(_parametersProvider); CashDistributionCommonOrganisationProvider commonOrganisationProviderMock = Substitute.For <CashDistributionCommonOrganisationProvider>(organisationParametersProviderMock); commonOrganisationProviderMock.GetCommonOrganisation(uowMock).Returns(organisationMock); var fuelDocument = new FuelDocument(); fuelDocument.Driver = Substitute.For <Employee>(); fuelDocument.FuelPaymentType = FuelPaymentType.Cash; fuelDocument.Car = carMock; fuelDocument.Date = DateTime.Now; fuelDocument.LastEditDate = DateTime.Now; fuelDocument.Fuel = fuelTypeMock; fuelDocument.RouteList = routeListMock; fuelDocument.UoW = uowMock; fuelDocument.FuelCoupons = 40; fuelDocument.PayedForFuel = 500; fuelDocument.Subdivision = subdivisionMock; // act fuelDocument.CreateOperations(fuelRepositoryMock, commonOrganisationProviderMock, categoryRepositoryMock); // assert AssertsAccumulator.Create .Accumulate(() => Assert.That(fuelDocument.FuelCashExpense.Casher, Is.SameAs(fuelDocument.Author))) .Accumulate(() => Assert.That(fuelDocument.FuelCashExpense.Employee, Is.SameAs(fuelDocument.Driver))) .Accumulate(() => Assert.That(fuelDocument.FuelCashExpense.RelatedToSubdivision, Is.SameAs(fuelDocument.RouteList.ClosingSubdivision))) .Release(); }
public void CreateFuelCashExpenseTest_Money(decimal payedForFuel, decimal result) { // arrange expenseCategoryMock = Substitute.For <ExpenseCategory>(); CategoryRepository.FuelDocumentExpenseCategoryTestGap = (arg) => expenseCategoryMock; FuelType fuelTypeMock = Substitute.For <FuelType>(); fuelTypeMock.Cost.Returns(30); Car carMock = Substitute.For <Car>(); carMock.IsCompanyCar.Returns(false); Organization organisationMock = Substitute.For <Organization>(); IUnitOfWork uowMock = Substitute.For <IUnitOfWork>(); VodovozRouteList routeListMock = Substitute.For <VodovozRouteList>(); Subdivision subdivisionMock = Substitute.For <Subdivision>(); routeListMock.ClosingSubdivision = subdivisionMock; IFuelRepository fuelRepositoryMock = Substitute.For <IFuelRepository>(); fuelRepositoryMock.GetFuelBalanceForSubdivision(uowMock, subdivisionMock, fuelTypeMock).Returns(50); OrganizationParametersProvider organisationParametersProviderMock = Substitute.For <OrganizationParametersProvider>(); organisationParametersProviderMock.CommonCashDistributionOrganisationId.ReturnsForAll(2); CashDistributionCommonOrganisationProvider commonOrganisationProviderMock = Substitute.For <CashDistributionCommonOrganisationProvider>(organisationParametersProviderMock); commonOrganisationProviderMock.GetCommonOrganisation(uowMock).Returns(organisationMock); var fuelDocument = new FuelDocument(); fuelDocument.Driver = Substitute.For <Employee>(); fuelDocument.Car = carMock; fuelDocument.FuelPaymentType = FuelPaymentType.Cash; fuelDocument.Date = DateTime.Now; fuelDocument.LastEditDate = DateTime.Now; fuelDocument.Fuel = fuelTypeMock; fuelDocument.RouteList = routeListMock; fuelDocument.UoW = uowMock; fuelDocument.FuelCoupons = 40; fuelDocument.PayedForFuel = payedForFuel; fuelDocument.Subdivision = subdivisionMock; // act fuelDocument.CreateOperations(fuelRepositoryMock, commonOrganisationProviderMock); // assert Assert.That(fuelDocument.FuelCashExpense.Money, Is.EqualTo(result)); }
public void CreateFuelCashExpenseTest__With_Zero_PayedFor_Fuel__FuelCashExpense_must_be_null() { // arrange var categoryRepositoryMock = Substitute.For <ICategoryRepository>(); expenseCategoryMock = Substitute.For <ExpenseCategory>(); categoryRepositoryMock.FuelDocumentExpenseCategory(null).Returns(expenseCategoryMock); FuelType fuelTypeMock = Substitute.For <FuelType>(); fuelTypeMock.Cost.Returns(30); Car carMock = Substitute.For <Car>(); carMock.IsCompanyCar.Returns(true); Organization organisationMock = Substitute.For <Organization>(); IUnitOfWork uowMock = Substitute.For <IUnitOfWork>(); VodovozRouteList routeListMock = Substitute.For <VodovozRouteList>(); Subdivision subdivisionMock = Substitute.For <Subdivision>(); routeListMock.ClosingSubdivision = subdivisionMock; IFuelRepository fuelRepositoryMock = Substitute.For <IFuelRepository>(); fuelRepositoryMock.GetFuelBalanceForSubdivision(uowMock, subdivisionMock, fuelTypeMock).Returns(50); OrganizationParametersProvider organisationParametersProviderMock = Substitute.For <OrganizationParametersProvider>(_parametersProvider); CashDistributionCommonOrganisationProvider commonOrganisationProviderMock = Substitute.For <CashDistributionCommonOrganisationProvider>(organisationParametersProviderMock); commonOrganisationProviderMock.GetCommonOrganisation(uowMock).Returns(organisationMock); var fuelDocument = new FuelDocument(); fuelDocument.Driver = Substitute.For <Employee>(); fuelDocument.Car = carMock; fuelDocument.Date = DateTime.Now; fuelDocument.LastEditDate = DateTime.Now; fuelDocument.Fuel = fuelTypeMock; fuelDocument.RouteList = routeListMock; fuelDocument.UoW = uowMock; fuelDocument.FuelCoupons = 40; fuelDocument.PayedForFuel = 0; fuelDocument.Subdivision = subdivisionMock; // act fuelDocument.CreateOperations(fuelRepositoryMock, commonOrganisationProviderMock, categoryRepositoryMock); // assert Assert.That(fuelDocument.FuelCashExpense, Is.Null); }
public void CreateFuelCashExpenseTest__Incorrect_FuelCoupons_and_PayedForFuel__Thrown_ValidationException_and_FuelCashExpense_must_be_null() { // arrange // arrange var categoryRepositoryMock = Substitute.For <ICategoryRepository>(); expenseCategoryMock = Substitute.For <ExpenseCategory>(); categoryRepositoryMock.FuelDocumentExpenseCategory(null).Returns(expenseCategoryMock); FuelType fuelTypeMock = Substitute.For <FuelType>(); fuelTypeMock.Cost.Returns(30); Car carMock = Substitute.For <Car>(); carMock.IsCompanyCar.Returns(true); Organization organisationMock = Substitute.For <Organization>(); IUnitOfWork uowMock = Substitute.For <IUnitOfWork>(); VodovozRouteList routeListMock = Substitute.For <VodovozRouteList>(); Subdivision subdivisionMock = Substitute.For <Subdivision>(); routeListMock.ClosingSubdivision = subdivisionMock; IFuelRepository fuelRepositoryMock = Substitute.For <IFuelRepository>(); fuelRepositoryMock.GetFuelBalanceForSubdivision(uowMock, subdivisionMock, fuelTypeMock).Returns(50); OrganizationParametersProvider organisationParametersProviderMock = Substitute.For <OrganizationParametersProvider>(_parametersProvider); CashDistributionCommonOrganisationProvider commonOrganisationProviderMock = Substitute.For <CashDistributionCommonOrganisationProvider>(organisationParametersProviderMock); commonOrganisationProviderMock.GetCommonOrganisation(uowMock).Returns(organisationMock); var fuelDocument = new FuelDocument(); fuelDocument.Driver = Substitute.For <Employee>(); fuelDocument.Car = carMock; fuelDocument.Date = DateTime.Now; fuelDocument.LastEditDate = DateTime.Now; fuelDocument.Fuel = fuelTypeMock; fuelDocument.RouteList = routeListMock; fuelDocument.UoW = uowMock; fuelDocument.PayedForFuel = 0; // act, assert Assert.Throws(typeof(ValidationException), () => fuelDocument.CreateOperations(fuelRepositoryMock, commonOrganisationProviderMock, categoryRepositoryMock)); // additional assert Assert.That(fuelDocument.FuelCashExpense, Is.Null, "При исключении в момент создания операций, операции оплаты топлива не должно быть создано"); }
public IOrganizationProvider CreateOrderOrganizationProvider() { var parametersProvider = new ParametersProvider(); var organizationParametersProvider = new OrganizationParametersProvider(parametersProvider); var orderParametersProvider = new OrderParametersProvider(parametersProvider); var geographicGroupParametersProvider = new GeographicGroupParametersProvider(parametersProvider); return(new Stage2OrganizationProvider( organizationParametersProvider, orderParametersProvider, geographicGroupParametersProvider)); }
private void Export(Export1cMode mode) { var dateStart = dateperiodpicker1.StartDate; var dateEnd = dateperiodpicker1.EndDate; int?organizationId = null; if (mode == Export1cMode.BuhgalteriaOOONew) { organizationId = (comboOrganization.SelectedItem as Organization)?.Id; } else if (mode == Export1cMode.BuhgalteriaOOO) { organizationId = new OrganizationParametersProvider(_parametersProvider).VodovozOrganizationId; } using (var exportOperation = new ExportOperation( mode, new OrderParametersProvider(_parametersProvider), dateStart, dateEnd, organizationId )) { this.exportInProgress = true; UpdateExportSensitivity(); LongOperationDlg.StartOperation(exportOperation.Run, "", 1, false); this.exportInProgress = false; UpdateExportSensitivity(); exportData = exportOperation.Result; } labelTotalCounterparty.Text = exportData.Objects .OfType <CatalogObjectNode>() .Count(node => node.Type == Common1cTypes.ReferenceCounterparty) .ToString(); labelTotalNomenclature.Text = exportData.Objects .OfType <CatalogObjectNode>() .Count(node => node.Type == Common1cTypes.ReferenceNomenclature) .ToString(); labelTotalSales.Text = (exportData.Objects .OfType <SalesDocumentNode>() .Count() + exportData.Objects.OfType <RetailDocumentNode>().Count()) .ToString(); labelTotalSum.Text = exportData.OrdersTotalSum.ToString("C", CultureInfo.GetCultureInfo("ru-RU")); labelExportedSum.Markup = $"<span foreground=\"{(exportData.ExportedTotalSum == exportData.OrdersTotalSum ? "green" : "red")}\">" + $"{exportData.ExportedTotalSum.ToString("C", CultureInfo.GetCultureInfo("ru-RU"))}</span>"; labelTotalInvoices.Text = exportData.Objects .OfType <InvoiceDocumentNode>() .Count() .ToString(); GtkScrolledWindowErrors.Visible = exportData.Errors.Count > 0; if (exportData.Errors.Count > 0) { TextTagTable textTags = new TextTagTable(); var tag = new TextTag("Red"); tag.Foreground = "red"; textTags.Add(tag); TextBuffer tempBuffer = new TextBuffer(textTags); TextIter iter = tempBuffer.EndIter; tempBuffer.InsertWithTags(ref iter, String.Join("\n", exportData.Errors), tag); textviewErrors.Buffer = tempBuffer; } buttonSave.Sensitive = exportData != null && exportData.Errors.Count == 0; }
public void CreateFuelOperationTest_Car_IsCompanyHavings() { // arrange expenseCategoryMock = Substitute.For <ExpenseCategory>(); CategoryRepository.FuelDocumentExpenseCategoryTestGap = (arg) => expenseCategoryMock; FuelType fuelTypeMock = Substitute.For <FuelType>(); fuelTypeMock.Cost.Returns(30); Car carMock = Substitute.For <Car>(); carMock.IsCompanyCar.Returns(true); Organization organisationMock = Substitute.For <Organization>(); IUnitOfWork uowMock = Substitute.For <IUnitOfWork>(); VodovozRouteList routeListMock = Substitute.For <VodovozRouteList>(); Subdivision subdivisionMock = Substitute.For <Subdivision>(); routeListMock.ClosingSubdivision = subdivisionMock; IFuelRepository fuelRepositoryMock = Substitute.For <IFuelRepository>(); fuelRepositoryMock.GetFuelBalanceForSubdivision(uowMock, subdivisionMock, fuelTypeMock).Returns(50); OrganizationParametersProvider organisationParametersProviderMock = Substitute.For <OrganizationParametersProvider>(); CashDistributionCommonOrganisationProvider commonOrganisationProviderMock = Substitute.For <CashDistributionCommonOrganisationProvider>(organisationParametersProviderMock); commonOrganisationProviderMock.GetCommonOrganisation(uowMock).Returns(organisationMock); var fuelDocument = new FuelDocument(); fuelDocument.Driver = Substitute.For <Employee>(); fuelDocument.Car = carMock; fuelDocument.Date = DateTime.Now; fuelDocument.LastEditDate = DateTime.Now; fuelDocument.Fuel = fuelTypeMock; fuelDocument.RouteList = routeListMock; fuelDocument.UoW = uowMock; fuelDocument.FuelCoupons = 40; fuelDocument.PayedForFuel = null; fuelDocument.Subdivision = subdivisionMock; // act fuelDocument.CreateOperations(fuelRepositoryMock, commonOrganisationProviderMock); // assert AssertsAccumulator.Create .Accumulate(() => Assert.That(fuelDocument.FuelOperation.LitersGived, Is.EqualTo(fuelDocument.FuelCoupons), "Количество топлива в операции не совпадает с количеством в документе")) .Accumulate(() => Assert.That(fuelDocument.FuelOperation.PayedLiters, Is.EqualTo(fuelDocument.PayedLiters), "Количество топлива оплаченного деньгами не совпадает с количеством топлива оплаченного деньгами в документе")) .Accumulate(() => Assert.That(fuelDocument.FuelOperation.Car, Is.SameAs(fuelDocument.Car), "Автомобиль в операции не совпадает с автомобилем в документе")) .Accumulate(() => Assert.That(fuelDocument.FuelOperation.Driver, Is.Null, "Водитель не должен быть заполнен")) .Accumulate(() => Assert.That(fuelDocument.FuelOperation.Fuel, Is.SameAs(fuelDocument.Fuel), "Тип топлива в операции не совпадает с типом топлива в документе")) .Release(); }