Beispiel #1
0
        public void ShouldNotBeValidWithWrongEmployee()
        {
            var order = new ExpenseReport();

            order.Status = ExpenseReportStatus.Draft;
            var employee = new Employee();

            order.Submitter = employee;

            var command = new DraftingCommand();

            Assert.That(command.IsValid(new ExecuteTransitionCommand(order, null, new Employee(), new DateTime())), Is.False);
        }
Beispiel #2
0
        public void ShouldNotBeValidInWrongStatus()
        {
            var order = new ExpenseReport();

            order.Status = ExpenseReportStatus.Submitted;
            var employee = new Employee();

            order.Submitter = employee;

            var command = new DraftingCommand(order, employee);

            Assert.That(command.IsValid(), Is.False);
        }
Beispiel #3
0
        public void ShouldBeValid()
        {
            var order = new ExpenseReport();

            order.Status = ExpenseReportStatus.Draft;
            var employee = new Employee();

            order.Submitter = employee;

            var command = new DraftingCommand(order, employee);

            Assert.That(command.IsValid(), Is.True);
        }
Beispiel #4
0
        public void ShouldNotBeValidInWrongStatus()
        {
            var report = new ExpenseReport();

            report.Status = ExpenseReportStatus.Submitted;
            var employee = new Employee();

            report.Submitter = employee;

            var command = new DraftingCommand();

            Assert.That(command.IsValid(new ExecuteTransitionCommand(report, null, employee, new DateTime())), Is.False);
        }
Beispiel #5
0
        public void ShouldTransitionStateProperly()
        {
            var order = new ExpenseReport();

            order.Number = "123";
            order.Status = ExpenseReportStatus.Draft;
            var employee = new Employee();

            order.Submitter = employee;

            var command = new DraftingCommand();

            command.Execute(new ExecuteTransitionCommand(order, null, employee, new DateTime()));

            Assert.That(order.Status, Is.EqualTo(ExpenseReportStatus.Draft));
        }
Beispiel #6
0
        public void ShouldTransitionStateProperly()
        {
            var order = new ExpenseReport();

            order.Number = "123";
            order.Status = ExpenseReportStatus.Draft;
            var employee = new Employee();

            order.Submitter = employee;

            var mocks          = new MockRepository();
            var commandVisitor = mocks.DynamicMock <IStateCommandVisitor>();

            commandVisitor.Save(order);
            commandVisitor.GoToEdit(order);
            mocks.ReplayAll();

            var command = new DraftingCommand(order, employee);

            command.Execute(commandVisitor);

            mocks.VerifyAll();
            Assert.That(order.Status, Is.EqualTo(ExpenseReportStatus.Draft));
        }