Beispiel #1
0
        public void Can_retrieve_workflow_from_database()
        {
            // Arrange
            PayraiseWorkflow workflow = new PayraiseWorkflow
            {
                Employee = "Bob Dole",
                RequestedSalaryAmount = 30000
            };

            WorkflowStep step1 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };
            WorkflowStep step2 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };
            WorkflowStep step3 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };

            workflow.AddStep(step1);
            workflow.AddStep(step2);
            workflow.AddStep(step3);

            // Act

            // Adding a workflow saves it to the database.
            _workflowService.AddWorkflow(workflow);

            _workflowService.LoadWorkflows();
        }
Beispiel #2
0
        public void Can_save_and_reload_multiple_workflows()
        {
            // Arrange
            PayraiseWorkflow workflow1 = new PayraiseWorkflow
            {
                Employee = "Bob Dole",
                RequestedSalaryAmount = 30000
            };

            WorkflowStep step1 = new WorkflowStep {
                Title = "Request for payraise: " + workflow1.Employee, AssignedTo = AssignToUser
            };

            workflow1.AddStep(step1);

            TerminationWorkflow workflow2 = new TerminationWorkflow
            {
                Employee          = "Burt Reynolds",
                TerminationReason = "Too much mustache"
            };

            WorkflowStep step2 = new WorkflowStep {
                Title = "Termination: " + workflow2.Employee, AssignedTo = AssignToUser
            };

            workflow2.AddStep(step2);

            // Act

            // Adding a workflow saves it to the database.
            _workflowService.AddWorkflow(workflow1);
            _workflowService.AddWorkflow(workflow2);

            _workflowService.LoadWorkflows();
        }
Beispiel #3
0
        public void Can_save_and_retrieve_notes()
        {
            // Arrange
            PayraiseWorkflow workflow = new PayraiseWorkflow
            {
                Employee = "Bob Dole",
                RequestedSalaryAmount = 30000
            };

            // Act
            WorkflowStep step1 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };
            WorkflowStep step2 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };
            WorkflowStep step3 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };

            Note note = new Note {
                CreatedBy = "ldunnehoo", Text = "blah blah blah"
            };

            step1.AddNote(note);

            note = new Note {
                CreatedBy = "burt reynolds", Text = "fedfdsfdf"
            };
            step2.AddNote(note);

            note = new Note {
                CreatedBy = "bob dole", Text = "upoo98i 9o698"
            };
            step2.AddNote(note);

            workflow.AddStep(step1);
            workflow.AddStep(step2);
            workflow.AddStep(step3);

            // Adding a workflow saves it to the database.
            _workflowService.AddWorkflow(workflow);

            Guid id = workflow.Id;

            _workflowService.LoadWorkflows();

            var retrievedWorkflow = _workflowService.Workflows.Where(w => w.Key == id).Select(w => w.Value).FirstOrDefault();

            // Assert
            Assert.AreEqual(3, retrievedWorkflow.Notes.Count);
        }
Beispiel #4
0
        public void Can_retrieve_specific_workflow()
        {
            // Arrange
            PayraiseWorkflow workflow1 = new PayraiseWorkflow
            {
                Employee = "Bob Dole",
                RequestedSalaryAmount = 30000
            };

            WorkflowStep step1 = new WorkflowStep {
                Title = "Request for payraise: " + workflow1.Employee, AssignedTo = AssignToUser
            };

            workflow1.AddStep(step1);

            TerminationWorkflow workflow2 = new TerminationWorkflow
            {
                Employee          = "Burt Reynolds",
                TerminationReason = "Too much mustache"
            };

            WorkflowStep step2 = new WorkflowStep {
                Title = "Termination: " + workflow2.Employee, AssignedTo = AssignToUser
            };

            workflow2.AddStep(step2);

            // Act

            // Adding a workflow saves it to the database.
            _workflowService.AddWorkflow(workflow1);
            _workflowService.AddWorkflow(workflow2);

            var id = workflow2.Id;

            _workflowService.LoadWorkflows();

            var retrievedWorkflow = _workflowService.Workflows.Where(w => w.Key == id).Select(w => w.Value).FirstOrDefault();

            // Assert
            Assert.IsNotNull(retrievedWorkflow);
        }
Beispiel #5
0
        public void Saving_a_workitem_doesnt_create_duplicates()
        {
            // Arrange
            PayraiseWorkflow workflow = new PayraiseWorkflow
            {
                Employee = "Bob Dole",
                RequestedSalaryAmount = 30000
            };

            WorkflowStep step1 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };

            workflow.AddStep(step1);

            // Act

            // Adding a workflow saves it to the database.
            _workflowService.AddWorkflow(workflow);

            workflow.RequestedSalaryAmount = 35000;

            workflow.Save();
        }
Beispiel #6
0
        public void Can_save_and_retrieve_attachments()
        {
            // Arrange
            PayraiseWorkflow workflow = new PayraiseWorkflow
            {
                Employee = "Bob Dole",
                RequestedSalaryAmount = 30000
            };

            // Act
            WorkflowStep step1 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };
            WorkflowStep step2 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };
            WorkflowStep step3 = new WorkflowStep {
                Title = "Request for payraise: " + workflow.Employee, AssignedTo = AssignToUser
            };

            string executingDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string filename           = "test.txt";

            byte[] fileArray = File.ReadAllBytes(Path.Combine(executingDirectory, filename));

            Attachment attachment = new Attachment {
                CreatedBy = "ldunnehoo", Filename = filename, File = fileArray
            };

            step1.AddAttachment(attachment);

            attachment = new Attachment {
                CreatedBy = "burt reynolds", Filename = filename, File = fileArray
            };
            step2.AddAttachment(attachment);

            attachment = new Attachment {
                CreatedBy = "bob dole", Filename = filename, File = fileArray
            };
            step2.AddAttachment(attachment);

            attachment = new Attachment {
                CreatedBy = "bob dole", Filename = filename, File = fileArray
            };
            step3.AddAttachment(attachment);

            workflow.AddStep(step1);
            workflow.AddStep(step2);
            workflow.AddStep(step3);

            // Adding a workflow saves it to the database.
            _workflowService.AddWorkflow(workflow);

            Guid id = workflow.Id;

            _workflowService.LoadWorkflows();

            var retrievedWorkflow = _workflowService.Workflows.Where(w => w.Key == id).Select(w => w.Value).FirstOrDefault();

            // Assert
            Assert.AreEqual(4, retrievedWorkflow.Attachments.Count);
        }