public void GivenOperatingBudget_WhenDeriving_ThenRequiredRelationsMustExist() { var builder = new OperatingBudgetBuilder(this.DatabaseSession); var budget = builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithDescription("Budget"); budget = builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithFromDate(DateTime.UtcNow); budget = builder.Build(); Assert.IsFalse(this.DatabaseSession.Derive().HasErrors); Assert.AreEqual(budget.CurrentBudgetStatus.BudgetObjectState, new BudgetObjectStates(this.DatabaseSession).Opened); Assert.AreEqual(budget.CurrentObjectState, new BudgetObjectStates(this.DatabaseSession).Opened); Assert.AreEqual(budget.CurrentObjectState, budget.LastObjectState); }
public void GivenOperatingBudget_WhenBuild_ThenPreviousObjectStateIsNUll() { var budget = new OperatingBudgetBuilder(this.DatabaseSession) .WithDescription("Budget") .WithFromDate(DateTime.UtcNow) .WithThroughDate(DateTime.UtcNow.AddYears(1)) .Build(); this.DatabaseSession.Derive(true); Assert.IsNull(budget.PreviousObjectState); }
public void GivenOperatingBudget_WhenBuild_ThenPreviousObjectStateIsNUll() { var budget = new OperatingBudgetBuilder(this.Session) .WithDescription("Budget") .WithFromDate(DateTime.UtcNow) .WithThroughDate(DateTime.UtcNow.AddYears(1)) .Build(); this.Session.Derive(); Assert.Null(budget.PreviousBudgetState); }
public void GivenOperatingBudget_WhenBuild_ThenLastObjectStateEqualsCurrencObjectState() { var budget = new OperatingBudgetBuilder(this.DatabaseSession) .WithDescription("Budget") .WithFromDate(DateTime.UtcNow) .WithThroughDate(DateTime.UtcNow.AddYears(1)) .Build(); this.DatabaseSession.Derive(true); Assert.AreEqual(new BudgetObjectStates(this.DatabaseSession).Opened, budget.CurrentObjectState); Assert.AreEqual(budget.LastObjectState, budget.CurrentObjectState); }
public void GivenOperatingBudget_WhenBuild_ThenLastObjectStateEqualsCurrencObjectState() { var budget = new OperatingBudgetBuilder(this.Session) .WithDescription("Budget") .WithFromDate(DateTime.UtcNow) .WithThroughDate(DateTime.UtcNow.AddYears(1)) .Build(); this.Session.Derive(); Assert.Equal(new BudgetStates(this.Session).Opened, budget.BudgetState); Assert.Equal(budget.LastBudgetState, budget.BudgetState); }
public void GivenOperatingBudget_WhenDeriving_ThenRequiredRelationsMustExist() { var builder = new OperatingBudgetBuilder(this.Session); var budget = builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithDescription("Budget"); budget = builder.Build(); Assert.False(this.Session.Derive(false).HasErrors); }
public void GivenOperatingBudget_WhenConfirmed_ThenCurrentBudgetStatusMustBeDerived() { var budget = new OperatingBudgetBuilder(this.DatabaseSession) .WithDescription("Budget") .WithFromDate(DateTime.UtcNow) .WithThroughDate(DateTime.UtcNow.AddYears(1)) .Build(); this.DatabaseSession.Derive(true); Assert.AreEqual(1, budget.BudgetStatuses.Count); Assert.AreEqual(new BudgetObjectStates(this.DatabaseSession).Opened, budget.CurrentBudgetStatus.BudgetObjectState); budget.Close(); this.DatabaseSession.Derive(true); Assert.AreEqual(2, budget.BudgetStatuses.Count); Assert.AreEqual(new BudgetObjectStates(this.DatabaseSession).Closed, budget.CurrentBudgetStatus.BudgetObjectState); }