コード例 #1
0
 public void ShouldChangeStatus()
 {
     var report = new ExpenseReport();
     report.Status = ExpenseReportStatus.Draft;
     report.ChangeStatus(ExpenseReportStatus.Submitted);
     Assert.That(report.Status, Is.EqualTo(ExpenseReportStatus.Submitted));
 }
        public void ShouldAddFact()
        {
            new DatabaseTester().Clean();

            var creator = new Employee("1", "1", "1", "1");
            var assignee = new Employee("2", "2", "2", "2");
            var expenseReport = new ExpenseReport
            {
                Submitter = creator,
                Approver = assignee,
                Title = "foo",
                Description = "bar",
                Number = "123"
            };
            expenseReport.ChangeStatus(ExpenseReportStatus.Approved);
            ExpenseReportFact expenseReportFact = new ExpenseReportFact(expenseReport,new DateTime(2012,1,1));

            using (ISession session = DataContext.GetTransactedSession())
            {
                //session.SaveOrUpdate(expenseReport);
                session.SaveOrUpdate(expenseReportFact);
                session.Transaction.Commit();
            }

            using (ISession session = DataContext.GetTransactedSession())
            {
                var reportFact = session.Load<ExpenseReportFact>(expenseReportFact.Id);
                reportFact.Total.ShouldEqual(expenseReportFact.Total);
                reportFact.TimeStamp.ShouldEqual(expenseReportFact.TimeStamp);
                reportFact.Number.ShouldEqual(expenseReportFact.Number);
                reportFact.Status.ShouldEqual(expenseReportFact.Status);
                reportFact.Submitter.ShouldEqual(expenseReportFact.Submitter);
                reportFact.Approver.ShouldEqual(expenseReportFact.Approver);
            }
        }
コード例 #3
0
        public void ShouldSave()
        {
            new DatabaseTester().Clean();

            var creator = new Employee("1", "1", "1", "1");
            var assignee = new Employee("2", "2", "2", "2");
            var order = new ExpenseReport();
            order.Submitter = creator;
            order.Approver = assignee;
            order.Title = "foo";
            order.Description = "bar";
            order.ChangeStatus(ExpenseReportStatus.Approved);
            order.Number = "123";
            ISession session = DataContext.GetTransactedSession();
            session.SaveOrUpdate(creator);
            session.SaveOrUpdate(assignee);
            session.Transaction.Commit();

            var repository = new ExpenseReportRepository();
            repository.Save(order);

            session.Dispose();

            ISession session2 = DataContext.GetTransactedSession();
            var rehydratedReport = session2.Load<ExpenseReport>(order.Id);
            Assert.That(rehydratedReport.Id, Is.EqualTo(order.Id));
            Assert.That(rehydratedReport.Submitter.Id, Is.EqualTo(order.Submitter.Id));
            Assert.That(rehydratedReport.Approver.Id, Is.EqualTo(order.Approver.Id));
            Assert.That(rehydratedReport.Title, Is.EqualTo(order.Title));
            Assert.That(rehydratedReport.Description, Is.EqualTo(order.Description));
            Assert.That(rehydratedReport.Status, Is.EqualTo(order.Status));

            rehydratedReport.Number.ShouldEqual(order.Number);
        }
        public void ShouldSave()
        {
            new DatabaseTester().Clean();

            var creator = new Employee("1", "1", "1", "1");
            var assignee = new Employee("2", "2", "2", "2");
            var report = new ExpenseReport();
            report.Submitter = creator;
            report.Approver = assignee;
            report.Title = "foo";
            report.Description = "bar";
            report.ChangeStatus(ExpenseReportStatus.Approved);
            report.Number = "123";

            using(ISession session = DataContext.GetTransactedSession())
            {
                session.SaveOrUpdate(creator);
                session.SaveOrUpdate(assignee);
                session.Transaction.Commit();
            }

            IContainer container = DependencyRegistrarModule.EnsureDependenciesRegistered();
            var bus = container.GetInstance<Bus>();
            bus.Send(new ExpenseReportSaveCommand {ExpenseReport = report});

            ExpenseReport rehydratedReport;
            using(ISession session2 = DataContext.GetTransactedSession())
            {
                rehydratedReport = session2.Load<ExpenseReport>(report.Id);
            }

            rehydratedReport.Id.ShouldEqual(report.Id);
            rehydratedReport.Submitter.Id.ShouldEqual(report.Submitter.Id);
            rehydratedReport.Approver.Id.ShouldEqual(report.Approver.Id);
            rehydratedReport.Title.ShouldEqual(report.Title);
            rehydratedReport.Description.ShouldEqual(report.Description);
            rehydratedReport.Status.ShouldEqual(report.Status);

            rehydratedReport.Number.ShouldEqual(report.Number);
        }
コード例 #5
0
        public void ShouldSaveAuditEntries()
        {
            new DatabaseTester().Clean();

            var creator = new Employee("1", "1", "1", "1");
            var assignee = new Employee("2", "2", "2", "2");
            var order = new ExpenseReport();
            order.Submitter = creator;
            order.Approver = assignee;
            order.Title = "foo";
            order.Description = "bar";
            order.ChangeStatus(ExpenseReportStatus.Approved);
            order.Number = "123";
            order.AddAuditEntry(new AuditEntry(creator, DateTime.Now, ExpenseReportStatus.Submitted,
                                                  ExpenseReportStatus.Approved));

            using (ISession session = DataContext.GetTransactedSession())
            {
                session.SaveOrUpdate(creator);
                session.SaveOrUpdate(assignee);
                session.Transaction.Commit();
            }

            var repository = new ExpenseReportRepository();
            repository.Save(order);

            ExpenseReport rehydratedExpenseReport;
            using (ISession session2 = DataContext.GetTransactedSession())
            {
                rehydratedExpenseReport = session2.Load<ExpenseReport>(order.Id);
            }

            var x = order.GetAuditEntries()[0];
            var y = rehydratedExpenseReport.GetAuditEntries()[0];
            Assert.That(x.BeginStatus, Is.EqualTo(y.BeginStatus));
        }
コード例 #6
0
ファイル: ZDataLoader.cs プロジェクト: fyulnady/CMBootCamp
        public void PopulateDatabase()
        {
            new DatabaseTester().Clean();
            ISession session = DataContext.GetTransactedSession();

            var lead = new Role("Facility Lead");
            var fulfillment = new Role("Fulfillment");
            session.SaveOrUpdate(lead);
            session.SaveOrUpdate(fulfillment);

            //Trainer1
            var jpalermo = new Employee("jpalermo", "Jeffrey", "Palermo", "*****@*****.**");
            jpalermo.AddRole(lead);
            jpalermo.AddRole(fulfillment);
            session.SaveOrUpdate(jpalermo);

            //Person 1

            //Person 2

            //Person 3

            //Person 4

            //Person 5

            //Person 6

            //Person 7

            //Person 8

            //Person 9

            //Person 10

            //Person 11

            //Person 12

            //Person 13

            var hsimpson = new Employee("hsimpson", "Homer", "Simpson", "*****@*****.**");
            hsimpson.AddRole(fulfillment);
            session.SaveOrUpdate(hsimpson);

            foreach (ExpenseReportStatus status in ExpenseReportStatus.GetAllItems())
            {
                var order = new ExpenseReport();
                order.Number = Guid.NewGuid().ToString().Substring(0, 5).ToUpper();
                order.Submitter = jpalermo;
                order.Approver = jpalermo;
                order.Status = status;
                order.Title = "Work Order starting in status " + status;
                order.Description = "Foo, foo, foo, foo " + status;
                order.CreatedDate = new DateTime(2000, 1, 1, 8, 0, 0);
                new DateTime(2000, 1, 1, 8, 0, 0);
                order.ChangeStatus(ExpenseReportStatus.Draft);
                order.ChangeStatus(ExpenseReportStatus.Submitted);
                order.ChangeStatus(ExpenseReportStatus.Approved);

                session.SaveOrUpdate(order);
            }

            var order2 = new ExpenseReport();
            order2.Number = Guid.NewGuid().ToString().Substring(0, 5).ToUpper();
            order2.Submitter = jpalermo;
            order2.Approver = jpalermo;
            order2.Status = ExpenseReportStatus.Approved;
            order2.Title = "Work Order starting in status ";
            order2.Description = "Foo, foo, foo, foo ";
            order2.CreatedDate = new DateTime(2000, 1, 1, 8, 0, 0);
            new DateTime(2000, 1, 1, 8, 0, 0);
            session.SaveOrUpdate(order2);

            session.Transaction.Commit();
            session.Dispose();
        }
コード例 #7
0
        public void PopulateDatabase()
        {
            new DatabaseTester().Clean();
            ISession session = DataContext.GetTransactedSession();

            //Trainer1
            var jpalermo = new Employee("jpalermo", "Jeffrey", "Palermo", "*****@*****.**");
            session.SaveOrUpdate(jpalermo);

            //Person 1

            //Person 2

            //Person 3
            var damian = new Employee("damian", "Damian", "Brady", "*****@*****.**");
            session.SaveOrUpdate(damian);

            //Person 4

            //Person 5

            //Person 6
            var paul = new Employee("paul", "Paul", "Stovell", "*****@*****.**");
            session.SaveOrUpdate(paul);

            //Person 7

            //Person 8

            //Person 9

            //Person 10

            //Person 11

            //Person 12

            //Person 13

            var hsimpson = new Employee("hsimpson", "Homer", "Simpson", "*****@*****.**");
            session.SaveOrUpdate(hsimpson);

            foreach (ExpenseReportStatus status in ExpenseReportStatus.GetAllItems())
            {
                var report = new ExpenseReport();
                report.Number = Guid.NewGuid().ToString().Substring(0, 5).ToUpper();
                report.Submitter = jpalermo;
                report.Approver = jpalermo;
                report.Status = status;
                report.Title = "Expense report starting in status " + status;
                report.Description = "Foo, foo, foo, foo " + status;
                new DateTime(2000, 1, 1, 8, 0, 0);
                report.ChangeStatus(ExpenseReportStatus.Draft);
                report.ChangeStatus(ExpenseReportStatus.Submitted);
                report.ChangeStatus(ExpenseReportStatus.Approved);

                session.SaveOrUpdate(report);
            }

            var order2 = new ExpenseReport();
            order2.Number = Guid.NewGuid().ToString().Substring(0, 5).ToUpper();
            order2.Submitter = jpalermo;
            order2.Approver = jpalermo;
            order2.Status = ExpenseReportStatus.Approved;
            order2.Title = "Expense report starting in status ";
            order2.Description = "Foo, foo, foo, foo ";
            new DateTime(2000, 1, 1, 8, 0, 0);
            session.SaveOrUpdate(order2);

            session.Transaction.Commit();
            session.Dispose();
        }