public void GivenGeneralLedgerAccount_WhenAddedToChartOfAccounts_ThenAccountNumberMustBeUnique() { var glAccount0001 = new GeneralLedgerAccountBuilder(this.Session) .WithAccountNumber("0001") .WithName("GeneralLedgerAccount") .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 glAccount0001Dup = new GeneralLedgerAccountBuilder(this.Session) .WithAccountNumber("0001") .WithName("GeneralLedgerAccount duplicate number") .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 chart = new ChartOfAccountsBuilder(this.Session).WithName("name").WithGeneralLedgerAccount(glAccount0001).Build(); Assert.False(this.Session.Derive(false).HasErrors); chart.AddGeneralLedgerAccount(glAccount0001Dup); var derivationLog = this.Session.Derive(false); var expectedMessage = ErrorMessages.AccountNumberUniqueWithinChartOfAccounts; Assert.Equal(derivationLog.Errors[0].Message, expectedMessage); new ChartOfAccountsBuilder(this.Session).WithName("another Chart").WithGeneralLedgerAccount(glAccount0001Dup).Build(); Assert.False(this.Session.Derive(false).HasErrors); }
public void GivenGeneralLedgerAccount_WhenAddedToChartOfAccounts_ThenAccountNumberMustBeUnique() { var glAccount0001 = new GeneralLedgerAccountBuilder(this.DatabaseSession) .WithAccountNumber("0001") .WithName("GeneralLedgerAccount") .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 glAccount0001Dup = new GeneralLedgerAccountBuilder(this.DatabaseSession) .WithAccountNumber("0001") .WithName("GeneralLedgerAccount duplicate number") .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 chart = new ChartOfAccountsBuilder(this.DatabaseSession).WithName("name").WithGeneralLedgerAccount(glAccount0001).Build(); Assert.IsFalse(this.DatabaseSession.Derive().HasErrors); chart.AddGeneralLedgerAccount(glAccount0001Dup); var derivationLog = this.DatabaseSession.Derive(); var expectedMessage = ErrorMessages.AccountNumberUniqueWithinChartOfAccounts; Assert.AreEqual(derivationLog.Errors[0].Message, expectedMessage); new ChartOfAccountsBuilder(this.DatabaseSession).WithName("another Chart").WithGeneralLedgerAccount(glAccount0001Dup).Build(); Assert.IsFalse(this.DatabaseSession.Derive().HasErrors); }
public void GivenChartOfAccounts_WhenDeriving_ThenPostBuildRelationsMustExist() { var chartOfAccounts = new ChartOfAccountsBuilder(this.Session) .WithName("ChartOfAccounts") .Build(); Assert.True(chartOfAccounts.ExistUniqueId); }
public void GivenChartOfAccounts_WhenDeriving_ThenPostBuildRelationsMustExist() { var chartOfAccounts = new ChartOfAccountsBuilder(this.DatabaseSession) .WithName("ChartOfAccounts") .Build(); Assert.IsTrue(chartOfAccounts.ExistUniqueId); }
public void GivenChartOfAccounts_WhenDeriving_ThenRequiredRelationsMustExist() { var builder = new ChartOfAccountsBuilder(this.DatabaseSession); builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithName("ChartOfAccounts"); builder.Build(); Assert.IsFalse(this.DatabaseSession.Derive().HasErrors); }
public void GivenChartOfAccounts_WhenDeriving_ThenRequiredRelationsMustExist() { var builder = new ChartOfAccountsBuilder(this.Session); builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithName("ChartOfAccounts"); builder.Build(); Assert.False(this.Session.Derive(false).HasErrors); }