Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }