Exemplo n.º 1
0
        /// <summary>
        /// Creates the search criteria for rejected assessments, optionally applying pagination.
        /// </summary>
        /// <param name="baseCriteria">The pagination options.</param>
        /// <returns>The search criteria for rejected assessments.</returns>
        private AssessmentSearchCriteria CreateRejectedCriteria(BaseSearchCriteria baseCriteria = null)
        {
            var criteria = new AssessmentSearchCriteria();

            CopyCriteria(baseCriteria, criteria);
            if (CurrentUser.Role == Role.Owner)
            {
                criteria.ApprovalStatuses = new List <ApprovalStatus> {
                    ApprovalStatus.Rejected
                };
                criteria.SubmitterUsernames = new List <string> {
                    CurrentUser.Username
                };
            }
            else if (CurrentUser.Role == Role.BUFunctionalApprover ||
                     CurrentUser.Role == Role.BURiskManagementApprover ||
                     CurrentUser.Role == Role.DivisionalRiskManagementApprover)
            {
                criteria.RejecterUsername = CurrentUser.Username;
            }
            else if (CurrentUser.Role == Role.Admin)
            {
                criteria.ApprovalStatuses = new List <ApprovalStatus> {
                    ApprovalStatus.Rejected
                };
            }

            return(criteria);
        }
Exemplo n.º 2
0
        public void TestSearchAccuracy2()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.Draft,
                    ApprovalStatus.Approved,
                    ApprovalStatus.AwaitingBUFunctionalApproval,
                    ApprovalStatus.AwaitingBURiskManagementApproval
                },
                ApproverUsernames = new List <string>
                {
                    "CoeusBUFuncApp1",
                    "CoeusDivManager",
                    "CoeusAdminUser"
                },
                BusinessUnitIds = new List <long> {
                    1, 2, 3
                }
            };

            // act
            SearchResult <Assessment> result = instance.Search(criteria);

            // assert
            AssertResult(result);
        }
Exemplo n.º 3
0
        public void TestGetCountAccuracy2()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.Draft,
                    ApprovalStatus.Approved,
                    ApprovalStatus.AwaitingBUFunctionalApproval,
                    ApprovalStatus.AwaitingBURiskManagementApproval
                },
                ApproverUsernames = new List <string>
                {
                    "CoeusBUFuncApp1",
                    "CoeusDivManager",
                    "CoeusAdminUser"
                },
                BusinessUnitIds = new List <long> {
                    1, 2, 3
                }
            };

            // act
            int result = instance.GetCount(criteria);

            // assert
            Assert.AreEqual(2, result, "Count is incorrect.");
        }
Exemplo n.º 4
0
 /// <summary>
 /// Copies the pagination options from <paramref name="baseCriteria"/> to <paramref name="criteria"/>.
 /// </summary>
 /// <param name="baseCriteria">The pagination options.</param>
 /// <param name="criteria">The assessment search criteria.</param>
 private static void CopyCriteria(BaseSearchCriteria baseCriteria, AssessmentSearchCriteria criteria)
 {
     if (baseCriteria != null)
     {
         criteria.PageNumber = baseCriteria.PageNumber;
         criteria.PageSize   = baseCriteria.PageSize;
         criteria.SortBy     = baseCriteria.SortBy;
         criteria.SortType   = baseCriteria.SortType;
     }
 }
Exemplo n.º 5
0
        public void TestGetCountAccuracy1()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria {
            };

            // act
            int result = instance.GetCount(criteria);

            // assert
            Assert.AreEqual(10, result, "Count is incorrect.");
        }
Exemplo n.º 6
0
        /// <summary>
        /// Creates the search criteria for awaiting approval assessments, optionally applying pagination.
        /// </summary>
        /// <param name="baseCriteria">The pagination options.</param>
        /// <returns>The search criteria for awaiting approval assessments.</returns>
        private AssessmentSearchCriteria CreateAwaitingApprovalCriteria(BaseSearchCriteria baseCriteria = null)
        {
            var criteria = new AssessmentSearchCriteria();

            CopyCriteria(baseCriteria, criteria);

            if (CurrentUser.Role == Role.Owner)
            {
                criteria.SubmitterUsernames = new List <string> {
                    CurrentUser.Username
                };
                criteria.ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.AwaitingBUFunctionalApproval,
                    ApprovalStatus.AwaitingBURiskManagementApproval,
                    ApprovalStatus.AwaitingDivisionalRiskManagementApproval
                };
            }
            else if (CurrentUser.Role == Role.BUFunctionalApprover)
            {
                criteria.DepartmentHeaderOrFunctionalAreaOwner = CurrentUser.Username;
                criteria.ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.AwaitingBUFunctionalApproval
                };
            }
            else if (CurrentUser.Role == Role.BURiskManagementApprover)
            {
                criteria.BusinessUnitIds  = GetBusinessUnitIds().ToList();
                criteria.ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.AwaitingBURiskManagementApproval
                };
            }
            else if (CurrentUser.Role == Role.DivisionalRiskManagementApprover)
            {
                criteria.ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.AwaitingDivisionalRiskManagementApproval
                };
            }
            else if (CurrentUser.Role == Role.Admin)
            {
                criteria.ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.AwaitingBUFunctionalApproval,
                    ApprovalStatus.AwaitingBURiskManagementApproval,
                    ApprovalStatus.AwaitingDivisionalRiskManagementApproval
                };
            }

            return(criteria);
        }
Exemplo n.º 7
0
        public void TestSearchAccuracy1()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria {
            };

            // act
            SearchResult <Assessment> result = instance.Search(criteria);

            // assert
            AssertResult(result);
        }
Exemplo n.º 8
0
        public void TestSearchAccuracy6()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                RejecterUsername = "******"
            };

            // act
            SearchResult <Assessment> result = instance.Search(criteria);

            // assert
            AssertResult(result);
        }
Exemplo n.º 9
0
        public void TestGetCountAccuracy6()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                RejecterUsername = "******"
            };

            // act
            int result = instance.GetCount(criteria);

            // assert
            Assert.AreEqual(1, result, "Count is incorrect.");
        }
Exemplo n.º 10
0
        public void TestSearchAccuracy3()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                BURiskManagementApproverUsername       = "******",
                DivisionRiskManagementApproverUsername = "******",
            };

            // act
            SearchResult <Assessment> result = instance.Search(criteria);

            // assert
            AssertResult(result);
        }
Exemplo n.º 11
0
        public void TestGetCountAccuracy7()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                DepartmentHeaderOrFunctionalAreaOwner = "CoeusBUFuncApp1",
                Title = "itle1"
            };

            // act
            int result = instance.GetCount(criteria);

            // assert
            Assert.AreEqual(4, result, "Count is incorrect.");
        }
Exemplo n.º 12
0
        public void TestSearchAccuracy7()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                DepartmentHeaderOrFunctionalAreaOwner = "FunctionalAreaOwner4",
                Title = "itle1"
            };

            // act
            SearchResult <Assessment> result = instance.Search(criteria);

            // assert
            AssertResult(result);
        }
Exemplo n.º 13
0
        public void TestGetCountAccuracy3()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                BURiskManagementApproverUsername       = "******",
                DivisionRiskManagementApproverUsername = "******",
            };

            // act
            int result = instance.GetCount(criteria);

            // assert
            Assert.AreEqual(3, result, "Count is incorrect.");
        }
Exemplo n.º 14
0
        public SearchResult <Assessment> Search([FromUri] AssessmentSearchCriteria criteria)
        {
            criteria = criteria ?? new AssessmentSearchCriteria();
            criteria.ApproverUsernames  = GetUsernames(criteria.ApproverRealName);
            criteria.SubmitterUsernames = GetUsernames(criteria.SubmitterRealName);

            criteria.DepartmentHeaderOrFunctionalAreaOwner = null;
            if (CurrentUser.Role == Role.Owner)
            {
                criteria.SubmitterUsernames = new List <string> {
                    CurrentUser.Username
                };
            }
            else if (CurrentUser.Role == Role.BUFunctionalApprover)
            {
                criteria.ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.AwaitingBUFunctionalApproval,
                    ApprovalStatus.AwaitingBURiskManagementApproval,
                    ApprovalStatus.AwaitingDivisionalRiskManagementApproval,
                    ApprovalStatus.Approved
                };
                criteria.DepartmentHeaderOrFunctionalAreaOwner = CurrentUser.Username;
            }
            else if (CurrentUser.Role == Role.BURiskManagementApprover)
            {
                criteria.ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.AwaitingBURiskManagementApproval,
                    ApprovalStatus.AwaitingDivisionalRiskManagementApproval,
                    ApprovalStatus.Approved
                };
                criteria.BusinessUnitIds = GetBusinessUnitIds().ToList();
            }
            else if (CurrentUser.Role == Role.DivisionalRiskManagementApprover)
            {
                criteria.ApprovalStatuses = new List <ApprovalStatus>
                {
                    ApprovalStatus.AwaitingDivisionalRiskManagementApproval,
                    ApprovalStatus.Approved
                };
            }

            return(AssessmentService.Search(criteria));
        }
Exemplo n.º 15
0
        public void TestSearchAccuracy4()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                BUFunctionalApproverUsername = "******",
                PageNumber = 2,
                PageSize   = 2,
                SortBy     = "ApprovalStatus",
                SortType   = SortType.Descending
            };

            // act
            SearchResult <Assessment> result = instance.Search(criteria);

            // assert
            AssertResult(result);
        }
Exemplo n.º 16
0
        public void TestGetCountAccuracy4()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                BUFunctionalApproverUsername = "******",
                PageNumber = 2,
                PageSize   = 2,
                SortBy     = "ApprovalStatus",
                SortType   = SortType.Descending
            };

            // act
            int result = instance.GetCount(criteria);

            // assert
            Assert.AreEqual(5, result, "Count is incorrect.");
        }
Exemplo n.º 17
0
        /// <summary>
        /// Creates the search criteria for draft assessments, optionally applying pagination.
        /// </summary>
        /// <param name="baseCriteria">The pagination options.</param>
        /// <returns>The search criteria for draft assessments.</returns>
        private AssessmentSearchCriteria CreateDraftCriteria(BaseSearchCriteria baseCriteria = null)
        {
            var criteria = new AssessmentSearchCriteria();

            CopyCriteria(baseCriteria, criteria);

            criteria.ApprovalStatuses = new List <ApprovalStatus> {
                ApprovalStatus.Draft
            };
            if (CurrentUser.Role == Role.Owner)
            {
                // approvers cannot access this method
                criteria.SubmitterUsernames = new List <string> {
                    CurrentUser.Username
                };
            }

            return(criteria);
        }
Exemplo n.º 18
0
        public void TestSearchAccuracy5()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                SubmitDateStart    = new DateTime(2016, 3, 1),
                SubmitDateEnd      = new DateTime(2016, 4, 30),
                SubmitterUsernames = new List <string> {
                    "CoeusOwnerUser1"
                },
                PageNumber = 1,
                PageSize   = 2,
                SortBy     = "SubmitTime",
                SortType   = SortType.Ascending
            };

            // act
            SearchResult <Assessment> result = instance.Search(criteria);

            // assert
            AssertResult(result);
        }
Exemplo n.º 19
0
        public void TestGetCountAccuracy5()
        {
            // arrange
            var criteria = new AssessmentSearchCriteria
            {
                SubmitDateStart    = new DateTime(2016, 3, 1),
                SubmitDateEnd      = new DateTime(2016, 4, 30),
                SubmitterUsernames = new List <string> {
                    "CoeusOwnerUser1"
                },
                PageNumber = 1,
                PageSize   = 2,
                SortBy     = "SubmitTime",
                SortType   = SortType.Ascending
            };

            // act
            int result = instance.GetCount(criteria);

            // assert
            Assert.AreEqual(4, result, "Count is incorrect.");
        }
Exemplo n.º 20
0
        public SearchResult <Assessment> GetRejectedAssessments([FromUri] BaseSearchCriteria criteria)
        {
            AssessmentSearchCriteria assessmentCriteria = CreateRejectedCriteria(criteria);

            return(AssessmentService.Search(assessmentCriteria));
        }
Exemplo n.º 21
0
        public SearchResult <Assessment> GetAwaitingApprovalAssessments([FromUri] BaseSearchCriteria criteria)
        {
            AssessmentSearchCriteria assessmentCriteria = CreateAwaitingApprovalCriteria(criteria);

            return(AssessmentService.Search(assessmentCriteria));
        }
Exemplo n.º 22
0
        public int GetRejectedCount()
        {
            AssessmentSearchCriteria criteria = CreateRejectedCriteria();

            return(AssessmentService.GetCount(criteria));
        }
Exemplo n.º 23
0
        public int GetAwaitingApprovalCount()
        {
            AssessmentSearchCriteria criteria = CreateAwaitingApprovalCriteria();

            return(AssessmentService.GetCount(criteria));
        }
Exemplo n.º 24
0
        public int GetDraftCount()
        {
            AssessmentSearchCriteria criteria = CreateDraftCriteria();

            return(AssessmentService.GetCount(criteria));
        }