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)); }
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)); }