public void UpdateNextIssue_WihtoutWriteoffAndWithoutExpiryByNormCase() { var operation1 = Substitute.For <EmployeeIssueOperation>(); operation1.OperationTime.Returns(new DateTime(2018, 1, 1)); operation1.ExpiryByNorm.Returns(x => null); operation1.Issued.Returns(10); var list = new List <EmployeeIssueOperation> { operation1 }; var graph = new IssueGraph(list); var uow = Substitute.For <IUnitOfWork>(); var employee = Substitute.For <EmployeeCard>(); employee.Id.Returns(777); //Необходимо чтобы было более 0, для запроса имеющихся операций. var norm = Substitute.For <NormItem>(); norm.Amount.Returns(10); var item = new EmployeeCardItemTested(); item.EmployeeCard = employee; item.GetIssueGraphForItemFunc = () => graph; item.ActiveNormItem = norm; item.UpdateNextIssue(uow); Assert.That(item.NextIssue, Is.Null); }
public void UpdateNextIssue_NotBreakNextIssueDateAfterRecreateItem() { var operation1 = Substitute.For <EmployeeIssueOperation>(); operation1.OperationTime.Returns(new DateTime(2017, 1, 1)); operation1.AutoWriteoffDate.Returns(new DateTime(2017, 10, 1)); operation1.Issued.Returns(10); var uow = Substitute.For <IUnitOfWork>(); var list = new List <EmployeeIssueOperation> { operation1 }; var graph = new IssueGraph(list); var employee = Substitute.For <EmployeeCard>(); employee.Id.Returns(777); //Необходимо чтобы было более 0, для запроса имеющихся операций. var norm = Substitute.For <NormItem>(); norm.Amount.Returns(10); var item = new EmployeeCardItemTested(); item.EmployeeCard = employee; item.GetIssueGraphForItemFunc = () => graph; item.Created = new DateTime(2018, 1, 15); item.ActiveNormItem = norm; item.UpdateNextIssue(uow); Assert.That(item.NextIssue, Is.EqualTo(new DateTime(2017, 10, 1))); }
public void UpdateNextIssue_WithoutIssuesNextDateEqualCreateItemDate() { var uow = Substitute.For <IUnitOfWork>(); var graph = Substitute.For <IssueGraph>(); var employee = Substitute.For <EmployeeCard>(); var normItem = Substitute.For <NormItem>(); var item = new EmployeeCardItemTested(); item.EmployeeCard = employee; item.GetIssueGraphForItemFunc = () => graph; item.Created = new DateTime(2018, 1, 15); item.ActiveNormItem = normItem; item.UpdateNextIssue(uow); Assert.That(item.NextIssue, Is.EqualTo(new DateTime(2018, 1, 15))); }
public void UpdateNextIssue_MoveDateToLeaveEndCase() { var operation1 = Substitute.For <EmployeeIssueOperation>(); operation1.OperationTime.Returns(new DateTime(2018, 1, 1)); operation1.AutoWriteoffDate.Returns(new DateTime(2018, 2, 1)); operation1.Issued.Returns(10); var list = new List <EmployeeIssueOperation> { operation1 }; var graph = new IssueGraph(list); var uow = Substitute.For <IUnitOfWork>(); var employee = Substitute.For <EmployeeCard>(); employee.Id.Returns(777); //Необходимо чтобы было более 0, для запроса имеющихся операций. var vacation = Substitute.For <EmployeeVacation>(); vacation.Employee.Returns(employee); vacation.BeginDate.Returns(new DateTime(2018, 1, 15)); vacation.EndDate.Returns(new DateTime(2018, 2, 15)); employee.Vacations.Returns(new List <EmployeeVacation> { vacation }); var norm = Substitute.For <NormItem>(); norm.Amount.Returns(10); var item = new EmployeeCardItemTested(); item.EmployeeCard = employee; item.GetIssueGraphForItemFunc = () => graph; item.ActiveNormItem = norm; item.UpdateNextIssue(uow); Assert.That(item.NextIssue, Is.EqualTo(new DateTime(2018, 2, 16))); }