public void ShouldPersist() { new DatabaseTester().Clean(); var one = new Manager("username", "Endurance", "Idehen", "Email"); Employee adminAssistant = new Employee("Assistant", "Someone", "Else", "Email2"); one.AdminAssistant = adminAssistant; using (ISession session = DataContext.GetTransactedSession()) { session.Save(one); session.Save(adminAssistant); session.Transaction.Commit(); } Manager rehydratedEmployee; using (ISession session = DataContext.GetTransactedSession()) { rehydratedEmployee = session.Load<Manager>(one.Id); } rehydratedEmployee.UserName.ShouldEqual(one.UserName); rehydratedEmployee.FirstName.ShouldEqual(one.FirstName); rehydratedEmployee.LastName.ShouldEqual(one.LastName); rehydratedEmployee.EmailAddress.ShouldEqual(one.EmailAddress); rehydratedEmployee.AdminAssistant.ShouldEqual(adminAssistant); }
public void AdminAssistantShouldBeAbleToActOnBehalf() { var employee = new Employee(); var adminAssistant = new Employee(); var manager = new Manager(); manager.AdminAssistant = adminAssistant; Assert.IsTrue(manager.CanActOnBehalf(adminAssistant)); Assert.IsTrue(manager.CanActOnBehalf(manager)); Assert.IsFalse(manager.CanActOnBehalf(employee)); }
public void ShouldBeValidWithOnBehalfApprover() { var report = new ExpenseReport(); report.Status = ExpenseReportStatus.Submitted; var manager = new Manager(); var assistant = new Employee(); manager.AdminAssistant = assistant; report.Approver = manager; var command = new SubmittedToApprovedCommand(); Assert.That(command.IsValid(new ExecuteTransitionCommand(report, null, assistant, new DateTime())), Is.True); }
public void AssistantShouldDecline() { var order = new ExpenseReport(); order.Number = "123"; order.Status = ExpenseReportStatus.Approved; var manager = new Manager(); var assistant = new Employee(); order.Approver = manager; manager.AdminAssistant = assistant; var command = new ApprovedToSubmittedCommand(); Assert.That(command.IsValid(new ExecuteTransitionCommand(order, null, assistant, new DateTime())), Is.True); }