コード例 #1
0
        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);
        }
コード例 #2
0
 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);
        }