Пример #1
0
        public void WriteoffWaybill_Writeoff_From_ReadyToWriteoff_Must_Be_Ok()
        {
            var writeoffWaybillRow = new WriteoffWaybillRow_Accessor(receiptWaybillRow, 50);

            // переводим накладную в состояние "Готово к списанию"
            writeoffWaybill.AddRow((WriteoffWaybillRow)writeoffWaybillRow.Target);
            writeoffWaybillRow.OutgoingWaybillRowState = OutgoingWaybillRowState.ReadyToArticleMovement;

            writeoffWaybill.Accept(priceLists, false, user, DateTime.Now);
            writeoffWaybill.Writeoff(user, DateTime.Now);

            Assert.AreEqual(WriteoffWaybillState.Writtenoff, writeoffWaybill.State);
        }
Пример #2
0
        public void WriteoffWaybill_Writeoff_Must_Set_Fixed_AccountingPriceList()
        {
            var writeoffWaybillRow = new WriteoffWaybillRow_Accessor(receiptWaybillRow, 50);

            // переводим накладную в состояние "Готово к списанию"
            writeoffWaybill.AddRow((WriteoffWaybillRow)writeoffWaybillRow.Target);
            writeoffWaybillRow.OutgoingWaybillRowState = OutgoingWaybillRowState.ReadyToArticleMovement;

            priceLists = new List <ArticleAccountingPrice> {
                new ArticleAccountingPrice(writeoffWaybillRow.Article, 50), new ArticleAccountingPrice(article, 25)
            };

            writeoffWaybill.Accept(priceLists, false, user, DateTime.Now);
            writeoffWaybill.Writeoff(user, DateTime.Now);

            Assert.AreEqual(priceLists.ElementAt(0), writeoffWaybillRow.SenderArticleAccountingPrice);
        }
Пример #3
0
        public void WriteoffWaybill_Attempt_To_Delete_Row_From_Writtenoff_Waybill_Must_Throw_Exception()
        {
            try
            {
                var writeoffWaybillRow = new WriteoffWaybillRow_Accessor(receiptWaybillRow, 50);

                // переводим накладную в состояние "Готово к списанию"
                writeoffWaybill.AddRow((WriteoffWaybillRow)writeoffWaybillRow.Target);
                writeoffWaybillRow.OutgoingWaybillRowState = OutgoingWaybillRowState.ReadyToArticleMovement;

                writeoffWaybill.Accept(priceLists, false, user, DateTime.Now);
                writeoffWaybill.Writeoff(user, DateTime.Now);

                writeoffWaybill.DeleteRow((WriteoffWaybillRow)writeoffWaybillRow.Target);

                Assert.Fail("Исключение не вызвано.");
            }
            catch (Exception ex)
            {
                Assert.AreEqual(String.Format("Невозможно удалить позицию из накладной со статусом «{0}».", writeoffWaybill.State.GetDisplayName()), ex.Message);
            }
        }