public void GivenGeneralLedgerAccount_WhenDeriving_ThenRequiredRelationsMustExist() { var accountGroup = new GeneralLedgerAccountGroupBuilder(this.Session).WithDescription("accountGroup").Build(); var accountType = new GeneralLedgerAccountTypeBuilder(this.Session).WithDescription("accountType").Build(); this.Session.Commit(); var builder = new GeneralLedgerAccountBuilder(this.Session); builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithAccountNumber("0001"); builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithName("GeneralLedgerAccount"); builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithBalanceSheetAccount(true); builder.Build(); this.Session.Rollback(); builder.WithSide(new DebitCreditConstants(this.Session).Debit); builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithGeneralLedgerAccountGroup(accountGroup); builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithGeneralLedgerAccountType(accountType); builder.Build(); Assert.False(this.Session.Derive(false).HasErrors); }
public void GivenGeneralLedgerAccount_WhenDeriving_ThenRequiredRelationsMustExist() { var accountGroup = new GeneralLedgerAccountGroupBuilder(this.DatabaseSession).WithDescription("accountGroup").Build(); var accountType = new GeneralLedgerAccountTypeBuilder(this.DatabaseSession).WithDescription("accountType").Build(); this.DatabaseSession.Commit(); var builder = new GeneralLedgerAccountBuilder(this.DatabaseSession); builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithAccountNumber("0001"); builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithName("GeneralLedgerAccount"); builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithBalanceSheetAccount(true); builder.Build(); this.DatabaseSession.Rollback(); builder.WithSide(new DebitCreditConstants(this.DatabaseSession).Debit); builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithGeneralLedgerAccountGroup(accountGroup); builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithGeneralLedgerAccountType(accountType); builder.Build(); Assert.IsFalse(this.DatabaseSession.Derive().HasErrors); }