コード例 #1
0
        public void GivenGeneralLedgerAccount_WhenSettingDefaultCostCenter_ThenDefaultCostCenterMustBeInListOfAllowedCostCenters()
        {
            var costCenter = new CostCenterBuilder(this.Session).WithName("costCenter").Build();

            var glAccount = new GeneralLedgerAccountBuilder(this.Session)
                            .WithAccountNumber("0001")
                            .WithName("GeneralLedgerAccount")
                            .WithCostCenterAccount(true)
                            .WithCostCenterRequired(true)
                            .WithDefaultCostCenter(costCenter)
                            .WithBalanceSheetAccount(true)
                            .WithSide(new DebitCreditConstants(this.Session).Debit)
                            .WithGeneralLedgerAccountType(new GeneralLedgerAccountTypeBuilder(this.Session).WithDescription("accountType").Build())
                            .WithGeneralLedgerAccountGroup(new GeneralLedgerAccountGroupBuilder(this.Session).WithDescription("accountGroup").Build())
                            .Build();

            var derivationLog = this.Session.Derive(false);

            var expectedMessage = ErrorMessages.CostCenterNotAllowed;

            Assert.Equal(derivationLog.Errors[0].Message, expectedMessage);

            glAccount.AddCostCentersAllowed(costCenter);

            Assert.False(this.Session.Derive(false).HasErrors);
        }
コード例 #2
0
        public void GivenCostCenter_WhenDeriving_ThenPostBuildRelationsMustExist()
        {
            var costCenter = new CostCenterBuilder(this.Session)
                             .WithName("CostCenter")
                             .Build();

            Assert.True(costCenter.ExistUniqueId);
        }
コード例 #3
0
ファイル: CostCenterTests.cs プロジェクト: Allors/apps
        public void GivenCostCenter_WhenDeriving_ThenPostBuildRelationsMustExist()
        {
            var costCenter = new CostCenterBuilder(this.DatabaseSession)
                .WithName("CostCenter")
                .Build();

            Assert.IsTrue(costCenter.ExistUniqueId);
        }
コード例 #4
0
ファイル: CostCenterTests.cs プロジェクト: Allors/apps
        public void GivenCostCenter_WhenDeriving_ThenRequiredRelationsMustExist()
        {
            var builder = new CostCenterBuilder(this.DatabaseSession);
            builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);

            this.DatabaseSession.Rollback();

            builder.WithName("CostCenter");
            builder.Build();

            Assert.IsFalse(this.DatabaseSession.Derive().HasErrors);
        }
コード例 #5
0
        public void GivenCostCenter_WhenDeriving_ThenRequiredRelationsMustExist()
        {
            var builder = new CostCenterBuilder(this.Session);

            builder.Build();

            Assert.True(this.Session.Derive(false).HasErrors);

            this.Session.Rollback();

            builder.WithName("CostCenter");
            builder.Build();

            Assert.False(this.Session.Derive(false).HasErrors);
        }
コード例 #6
0
        public void GivenGeneralLedgerAccount_WhenSettingDefaultCostCenter_ThenDefaultCostCenterMustBeInListOfAllowedCostCenters()
        {
            var costCenter = new CostCenterBuilder(this.DatabaseSession).WithName("costCenter").Build();

            var glAccount = new GeneralLedgerAccountBuilder(this.DatabaseSession)
                .WithAccountNumber("0001")
                .WithName("GeneralLedgerAccount")
                .WithCostCenterAccount(true)
                .WithCostCenterRequired(true)
                .WithDefaultCostCenter(costCenter)
                .WithBalanceSheetAccount(true)
                .WithSide(new DebitCreditConstants(this.DatabaseSession).Debit)
                .WithGeneralLedgerAccountType(new GeneralLedgerAccountTypeBuilder(this.DatabaseSession).WithDescription("accountType").Build())
                .WithGeneralLedgerAccountGroup(new GeneralLedgerAccountGroupBuilder(this.DatabaseSession).WithDescription("accountGroup").Build())
                .Build();

            var derivationLog = this.DatabaseSession.Derive();

            var expectedMessage = ErrorMessages.CostCenterNotAllowed;

            Assert.AreEqual(derivationLog.Errors[0].Message, expectedMessage);

            glAccount.AddCostCenterAllowed(costCenter);

            Assert.IsFalse(this.DatabaseSession.Derive().HasErrors);
        }