public void Send_invoice_only_once() { var payer = DataMother.CreatePayerForBillingDocumentTest(); payer.ContactGroupOwner .AddContactGroup(ContactGroupType.Invoice) .AddContact(ContactType.Email, "*****@*****.**"); payer.InvoiceSettings.EmailInvoice = true; Save(payer); var invoice = payer.BuildInvoices(DateTime.Today, new Period(DateTime.Today)).Single(); Save(invoice); Flush(); Close(); task.Execute(); var message = messages.FirstOrDefault(m => m.Body.Contains(String.Format("Счет №{0}", invoice.Id))); Assert.That(message, Is.Not.Null); messages.Clear(); task.Execute(); message = messages.FirstOrDefault(m => m.Body.Contains(String.Format("Счет №{0}", invoice.Id))); Assert.That(message, Is.Null, "Отправили счет повторно"); }
public void Double_saved_payments_processing() { var payers = session.Query <Payer>().Where(p => p.INN == "361911638854").ToList(); payers.Each(p => { p.INN = null; session.Save(p); }); var payer = DataMother.CreatePayerForBillingDocumentTest(); payer.INN = "361911638854"; session.Save(payer); session.Flush(); var file = "../../../TestData/1c.txt"; using (var stream = File.OpenRead(file)) Context.Session["payments"] = Payment.Parse(file, stream); Reopen(); controller.SavePayments(); try { Reopen(); controller.SavePayments(); } catch (SessionExpiredException) { } session.Refresh(payer); Assert.That(payer.Balance, Is.EqualTo(3000)); }
public void Notify_abount_modification() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var invoice = new Invoice(payer, DateTime.Now); invoice.Parts.Add(new InvoicePart(invoice, "Мониторинг оптового фармрынка за декабрь", 500, 2, DateTime.Now)); session.Save(invoice); var oldValue = invoice.Period.Clone(); var newValue = new Period(DateTime.Today.Year + 1, invoice.Period.Interval); Request.Params.Add("invoice.Period.Year", newValue.Year.ToString()); Request.Params.Add("invoice.Period.Interval", newValue.Interval.ToString()); Request.Params.Add("invoice.Parts[0].Id", invoice.Parts[0].Id.ToString()); Request.HttpMethod = "POST"; controller.Edit(invoice.Id); controller.SendMails(); var errors = controller.Validator.GetErrorSummary(invoice); Assert.AreEqual(0, errors.ErrorsCount, errors.ErrorMessages.Implode()); Assert.AreEqual(1, Emails.Count); var email = Emails[0]; Assert.AreEqual("Изменен счет", Emails[0].Subject); Assert.That(email.Body, Is.StringContaining(String.Format("Параметр Период изменился с {0} на {1}", oldValue, newValue))); }
public void Setup() { payer = DataMother.CreatePayerForBillingDocumentTest(); payer.AutoInvoice = InvoiceType.Auto; session.Save(payer); Flush(); filter = new DocumentBuilderFilter(); }
public void Setup() { payer = DataMother.CreatePayerForBillingDocumentTest(); controller = new RevisionActsController(); referer = "https://stat.analit.net/Adm/"; Prepare(controller, "RevisionActs", "Mail"); }
public void Setup() { payer = DataMother.CreatePayerForBillingDocumentTest(); payment = new Payment(payer); payment.Sum = 800; payment.RegisterPayment(); session.Save(payment); }
public void Update_payer_balance() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var payment = new Payment(payer); payment.Sum = 800; session.Save(payment); Assert.That(payer.Balance, Is.EqualTo(800)); }
private Invoice CreateInvoice() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var invoice = new Invoice(payer, new Period(2011, Interval.January), new DateTime(2010, 12, 27)); var group = invoice.Payer.ContactGroupOwner.AddContactGroup(ContactGroupType.Invoice); group.AddContact(ContactType.Email, "*****@*****.**"); session.Save(invoice); return(invoice); }
public void Setup() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var invoice = new Invoice(payer, DateTime.Now); invoice.Parts.Add(new InvoicePart(invoice, "Мониторинг оптового фармрынка", 500, 1, DateTime.Now)); session.Save(invoice); act = new Act(DateTime.Now, invoice); session.Save(act); }
public void NotSendEmptyMessageTest() { var payer = DataMother.CreatePayerForBillingDocumentTest(); Open(payer); ClickButton("Принять"); AssertText("Это поле необходимо заполнить."); browser.TextField(Find.ByName("messageText")).TypeText("Тестовое сообщение"); ClickButton("Принять"); AssertText("Тестовое сообщение"); }
public void Delete_payer_dialog() { var payer = DataMother.CreatePayerForBillingDocumentTest(); Open(payer); Click("Удалить Плательщика"); AssertText("Введите причину удаления"); Click("Продолжить"); AssertText("Это поле необходимо заполнить."); Css("#CommentField").AppendText("123456"); Click("Продолжить"); }
public void Custom_invoice() { var payer = DataMother.CreatePayerForBillingDocumentTest(); Open(payer); Click("Новый счет"); Css("#invoice_date").Value = DateTime.Now; Css("#invoice_bills[0]_Name").Value = "Информационные услуги за октябрь"; Css("#invoice_bills[0]_Cost").Value = "500"; Css("#invoice_bills[0]_Count").Value = "1"; Click("Сохранить"); }
public void Do_not_include_payer_that_was_not_registred() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var period = DateTime.Now.AddMonths(-1).ToPeriod(); var filter = new PayerFilter(session) { SearchWithoutDocuments = true, Period = period, DocumentType = DocumentType.Invoice }; var items = filter.Find(); Assert.That(items.Select(i => i.PayerId).ToArray(), Is.Not.Contains(payer.Id)); }
public void Setup() { payer = DataMother.CreatePayerForBillingDocumentTest(); var invoices = payer.BuildInvoices(new DateTime(2011, 12, 10), new Period(2011, Interval.December)) .Concat(payer.BuildInvoices(new DateTime(2012, 1, 10), new Period(2012, Interval.January))) .ToArray(); invoices.SelectMany(i => i.Parts).Each(p => p.Process()); Save(invoices); Flush(); }
public void Create_act() { var payer = DataMother.CreatePayerForBillingDocumentTest(); Open(payer); Click("Доп. акт"); AssertText("Формирование дополнительного акта"); Css("#act_Date").Value = DateTime.Now.ToShortDateString(); Css("#act_parts_0__name").Value = "Информационные услуги за октябрь"; Css("#act_parts_0__cost").Value = "800"; Css("#act_parts_0__count").Value = "2"; Click("Сохранить"); AssertText("Акт сформирован"); }
public void Before_save_if_begin_balance_changed_update_balance() { var payer = DataMother.CreatePayerForBillingDocumentTest(); payer.BeginBalance = 1000; session.Save(payer); session.Flush(); Assert.That(payer.Balance, Is.EqualTo(1000)); payer.Balance = 2000; payer.BeginBalance = -500; session.Save(payer); session.Flush(); Assert.That(payer.Balance, Is.EqualTo(500)); }
public void Update_payer_balance() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var operation = new BalanceOperation(payer); operation.Type = OperationType.DebtRelief; operation.Description = "Возврат средств"; operation.Sum = 1000; session.Save(operation); Flush(); Reopen(); payer = session.Load <Payer>(payer.Id); Assert.That(payer.Balance, Is.EqualTo(1000)); }
public void Show_balance_summary() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var invoice = new Invoice(payer, new Period(2011, Interval.January), new DateTime(2011, 1, 11)); session.Save(invoice); var payment = new Payment(payer, new DateTime(2011, 1, 15), 800); session.Save(payment); Open(payer); AssertText("плательщик"); Click(String.Format(@"Платежи/Счета {0}", invoice.Period.Year)); Thread.Sleep(1000); AssertText("11.01.2011"); AssertText("15.01.2011"); }
public void Try_find_by_payer_id() { var payer1 = payer; var payer2 = DataMother.CreatePayerForBillingDocumentTest(); var invoice1 = new Invoice(payer1, new Period(2010, Interval.December), DateTime.Now); session.Save(invoice1); var invoice2 = new Invoice(payer2, new Period(2010, Interval.December), DateTime.Now); session.Save(invoice2); var filter = new PayerDocumentFilter { SearchText = new[] { payer1, payer2 }.Implode(p => p.Id) }; var invoices = filter.Find <Invoice>(session); Assert.That(invoices, Is.EquivalentTo(new[] { invoice1, invoice2 })); }
public void Search_payer_without_document() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var period = DateTime.Now.ToPeriod(); var filter = new PayerFilter(session) { SearchWithoutDocuments = true, Period = period, DocumentType = DocumentType.Invoice }; var items = filter.Find(); Assert.Contains(payer.Id, items.Select(i => i.PayerId).ToArray()); Save(payer.BuildInvoices(DateTime.Now, period)); Flush(); items = filter.Find(); Assert.That(items.Select(i => i.PayerId).ToArray(), Is.Not.Contains(payer.Id)); }
public void Search_by_payer_name() { var payer = DataMother.CreatePayerForBillingDocumentTest(); payer.Name = "Тестовый плательщик " + payer.Id; var payment = new Payment(payer, DateTime.Now, 800); session.Save(payment); var filter = new PaymentFilter(session) { SearchText = "Тестовый плательщик " + payer.Id }; session.Flush(); var payments = filter.Find(); Assert.That(payments.Count, Is.EqualTo(1)); Assert.That(payments[0].Id, Is.EqualTo(payment.Id)); }
public void Do_not_build_duplicate_document() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var invoice = new Invoice(payer, new Period(2010, Interval.December), DateTime.Now); session.Save(invoice); var acts = Act.Build(new List <Invoice> { invoice }, DateTime.Now); acts.Each(a => session.Save(a)); Assert.That(acts.Count(), Is.EqualTo(1)); acts = Act.Build(new List <Invoice> { invoice }, DateTime.Now); Assert.That(acts.Count(), Is.EqualTo(0)); }
public void Ignore_inn_from_black_list() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var recipient = session.Query <Recipient>().First(); payer.INN = DataMother.RandomInn(); new IgnoredInn(payer.INN).Save(); session.Save(payer); var payments = new List <Payment> { new Payment { Sum = 800, RecipientClient = new Payment.BankClient(recipient.Name, recipient.INN, recipient.BankAccountNumber), PayerClient = new Payment.BankClient(payer.Name, payer.INN, "") } }; var identifyPayments = Payment.Identify(payments); Assert.That(identifyPayments.First().Payer, Is.Null); }
public void Identify_payment() { var payer = DataMother.CreatePayerForBillingDocumentTest(); var recipient = session.Query <Recipient>().First(); payer.INN = DataMother.RandomInn(); session.Save(payer); var payments = new List <Payment> { new Payment { Sum = 800, RecipientClient = new Payment.BankClient(recipient.Name, recipient.INN, recipient.BankAccountNumber), PayerClient = new Payment.BankClient(payer.Name, payer.INN, "") } }; session.Flush(); var identifyPayments = Payment.Identify(payments); Assert.That(identifyPayments.First().Payer, Is.EqualTo(payer)); }
public void Setup() { payer = DataMother.CreatePayerForBillingDocumentTest(); ad = new Advertising(payer); session.Save(ad); }
public void Setup() { payer = DataMother.CreatePayerForBillingDocumentTest(); }
public void BeAccountedUpdate() { //подготовка данных var otherResult = session.Query <Account>().Where(s => s.FreePeriodEnd == SystemTime.Now().Date.AddDays(-13)).ToList(); otherResult.Each(s => { s.FreePeriodEnd = SystemTime.Now().Date; session.Save(s); }); var allResult = new List <Account>(); var client = DataMother.CreateTestClientWithUser(); var payer = DataMother.CreatePayerForBillingDocumentTest(); client.Payers.Add(payer); session.Save(payer); payer.Addresses.Each(s => { allResult.Add(s.Accounting); }); allResult.AddRange(payer.GetAccounts()); payer = DataMother.CreatePayerForBillingDocumentTest(); client.Payers.Add(payer); session.Save(payer); session.Save(client); payer.Addresses.Each(s => { allResult.Add(s.Accounting); }); allResult.AddRange(payer.GetAccounts()); Reopen(); allResult.Each(s => { s.IsFree = true; s.BeAccounted = false; s.FreePeriodEnd = null; session.Save(s); }); var itemCountA = (allResult.Count > 10 ? 10 : allResult.Count); for (int i = 0; i < itemCountA; i++) { allResult[i].WriteTime = SystemTime.Now().Date.AddDays(-14); allResult[i].FreePeriodEnd = SystemTime.Now().Date.AddDays(-13); allResult[i].BeAccounted = true; session.Save(allResult[i]); } var timeToUpdate = ConfigurationManager.AppSettings["BeAccountedUpdateAt"] .Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries); var timeToSendMailHour = int.Parse(timeToUpdate[0]); var timeToSendMailMinutes = timeToUpdate.Length > 1 ? int.Parse(timeToUpdate[1]) : 0; var mailTime = SystemTime.Now().Date.AddHours(timeToSendMailHour).AddMinutes(timeToSendMailMinutes); SystemTime.Now = () => mailTime.AddMinutes(10); Reopen(); task.Execute(); Reopen(); allResult = session.Query <Account>().Where(s => s.FreePeriodEnd == SystemTime.Now().Date.AddDays(-13)).ToList(); Assert.IsTrue(allResult.Count == itemCountA); for (int i = 0; i < itemCountA; i++) { session.Refresh(allResult[i]); Assert.IsTrue(allResult[i].BeAccounted == false); } }
public void Setup() { payer = DataMother.CreatePayerForBillingDocumentTest(); invoice = new Invoice(payer, new Period(2011, Interval.January), new DateTime(2010, 12, 27)); session.Save(invoice); }
public void Setup() { payer = DataMother.CreatePayerForBillingDocumentTest(); processor = new InvoicePartTask(session); }