Beispiel #1
0
        public void ReceiveTest__TransferDocument_without_cashier_receiver__Thrown_ArgumentNullException()
        {
            // arrange
            var subdivisionFrom = Substitute.For <Subdivision>();

            subdivisionFrom.Id.Returns(1);

            var subdivisionTo = Substitute.For <Subdivision>();

            subdivisionTo.Id.Returns(2);

            FuelType fuelTypeMock = Substitute.For <FuelType>();
            var      document     = new FuelTransferDocument();

            document.FuelType = fuelTypeMock;

            var transferOperation = Substitute.For <FuelTransferOperation>();

            transferOperation.ReceiveTime      = null;
            transferOperation.SendTime         = sendTimeForReceive;
            transferOperation.SubdivisionFrom  = subdivisionFrom;
            transferOperation.SubdivisionTo    = subdivisionTo;
            transferOperation.TransferedLiters = transferedLitersForReceive;

            var expenseOperation = Substitute.For <FuelExpenseOperation>();

            expenseOperation.FuelTransferDocument = document;
            expenseOperation.FuelDocument         = null;
            expenseOperation.СreationTime         = sendTimeForReceive;
            expenseOperation.RelatedToSubdivision = subdivisionFrom;
            expenseOperation.FuelLiters           = transferedLitersForReceive;

            document.Author = Substitute.For <Employee>();
            document.Driver = Substitute.For <Employee>();
            document.Car    = Substitute.For <Car>();

            document.SendTime            = sendTimeForReceive;
            document.CashSubdivisionFrom = subdivisionFrom;
            document.CashSubdivisionTo   = subdivisionTo;
            document.Status                = FuelTransferDocumentStatuses.Sent;
            document.TransferedLiters      = transferedLitersForReceive;
            document.FuelTransferOperation = transferOperation;
            document.FuelExpenseOperation  = expenseOperation;
            var parameterName = document.GetType().GetMethod(nameof(document.Receive)).GetParameters()[0].Name;

            // act
            var exception = Assert.Throws <ArgumentNullException>(() => document.Receive(null));

            // assert
            Assert.That(exception.ParamName, Is.EqualTo(parameterName));
        }
Beispiel #2
0
        public void SendTest__TransferDocument_Without_Cashier__Thrown_ArgumentNullException()
        {
            // arrange
            var subdivisionFrom = Substitute.For <Subdivision>();

            subdivisionFrom.Id.Returns(1);

            var subdivisionTo = Substitute.For <Subdivision>();

            subdivisionTo.Id.Returns(2);

            FuelType    fuelTypeMock = Substitute.For <FuelType>();
            IUnitOfWork uowMock      = Substitute.For <IUnitOfWork>();

            IFuelRepository fuelRepositoryMock = Substitute.For <IFuelRepository>();

            fuelRepositoryMock.GetFuelBalanceForSubdivision(uowMock, subdivisionFrom, fuelTypeMock).Returns(50);

            var document = new FuelTransferDocument();

            document.FuelType = fuelTypeMock;
            document.Author   = Substitute.For <Employee>();
            document.Driver   = Substitute.For <Employee>();
            document.Car      = Substitute.For <Car>();

            document.CashSubdivisionFrom = subdivisionFrom;
            document.CashSubdivisionTo   = subdivisionTo;
            document.Status           = FuelTransferDocumentStatuses.New;
            document.TransferedLiters = transferedLitersForSend;
            var parameterName = document.GetType().GetMethod(nameof(document.Send)).GetParameters()[0].Name;

            // act
            var exception = Assert.Throws <ArgumentNullException>(() => document.Send(null, fuelRepositoryMock));

            // assert
            Assert.That(exception.ParamName, Is.EqualTo(parameterName));
        }