Exemple #1
0
        public void Convert_work_item_detail_info_to_work_item_detail_info_model()
        {
            var workItemDetailInfo = new WorkItemDetailInfo
            {
                NoteLabel = "Test Note Label",
                NoteText  = "Test Note Text",
                NoteLabelTranslationKey = "Test Note Label Translation Key",
                Details = new WorkItemDetail[]
                {
                    new WorkItemDetail
                    {
                        DetailDescription        = "Test Detail Description",
                        DetailValue              = "Test Detail Value",
                        Order                    = 1,
                        RequestInformationEntity = new RequestInformation
                        {
                            TranslationKey = "Test Detail Translation Key"
                        }
                    }
                }
            };

            var actualWorkItemDetailInfoModel = workItemDetailInfo.MapWorkItemDetailInfoToWorkItemDetailInfoModel();

            Assert.Equal("Test Detail Description", actualWorkItemDetailInfoModel.WorkItemDetails[0].Name);
            Assert.Equal("Test Detail Value", actualWorkItemDetailInfoModel.WorkItemDetails[0].Value);
            Assert.Equal(1, actualWorkItemDetailInfoModel.WorkItemDetails[0].SortOrder);
            Assert.Equal("Test Detail Translation Key", actualWorkItemDetailInfoModel.WorkItemDetails[0].TranslationKey);
            Assert.Equal("Test Note Label", actualWorkItemDetailInfoModel.WorkItemDetails[1].Name);
            Assert.Equal("Test Note Text", actualWorkItemDetailInfoModel.WorkItemDetails[1].Value);
            Assert.Equal("Test Note Label Translation Key", actualWorkItemDetailInfoModel.WorkItemDetails[1].TranslationKey);
        }
Exemple #2
0
        public void Not_error_when_work_item_detail_info_is_null()
        {
            var workItemDetailInfo = new WorkItemDetailInfo
            {
                NoteLabel = null,
                NoteText  = null,
                NoteLabelTranslationKey = null,
                Details = new WorkItemDetail[]
                {
                    new WorkItemDetail
                    {
                        DetailDescription        = "Test Detail Description",
                        DetailValue              = "Test Detail Value",
                        Order                    = 1,
                        RequestInformationEntity = new RequestInformation
                        {
                            TranslationKey = "Test Detail Translation Key"
                        }
                    }
                }
            };

            var actualWorkItemDetailInfoModel = workItemDetailInfo.MapWorkItemDetailInfoToWorkItemDetailInfoModel();

            Assert.Single(actualWorkItemDetailInfoModel.WorkItemDetails);
        }
Exemple #3
0
        public void Not_error_when_translation_key_is_null()
        {
            var workItemDetailInfo = new WorkItemDetailInfo
            {
                NoteLabel = null,
                NoteText  = null,
                NoteLabelTranslationKey = null,
                Details = new WorkItemDetail[]
                {
                    new WorkItemDetail
                    {
                        DetailDescription        = "Test Detail Description",
                        DetailValue              = "Test Detail Value",
                        Order                    = 1,
                        RequestInformationEntity = new RequestInformation
                        {
                            TranslationKey = null
                        }
                    }
                }
            };

            var actualWorkItemDetailInfoModel = workItemDetailInfo.MapWorkItemDetailInfoToWorkItemDetailInfoModel();

            Assert.Equal(string.Empty, actualWorkItemDetailInfoModel.WorkItemDetails[0].TranslationKey);
        }
Exemple #4
0
        public void return_work_item_details_when_note_is_present()
        {
            const int workItemDetailArrayLengthIncludingNoteLabel = 3;

            var workItemDetailInfo = new WorkItemDetailInfo
            {
                NoteLabel = Any.String(),
                NoteText  = Any.String(),
                NoteLabelTranslationKey = string.Empty,
                Details = Any.WorkItemDetails(2)
            };

            var expectedWorkItemDetail = new WorkItemDetailModel
            {
                Name           = workItemDetailInfo.NoteLabel,
                Value          = workItemDetailInfo.NoteText,
                TranslationKey = workItemDetailInfo.NoteLabelTranslationKey
            };

            var response = GetWorkItemDetails(workItemDetailInfo) as OkObjectResult;

            var actualWorkItemDetails = ((response.Value as ApiOkResponse).Result as ResourceWrapper <WorkItemDetailInfoModel>).Value as WorkItemDetailInfoModel;

            Assert.Equal(200, response.StatusCode);
            Assert.Equal(workItemDetailArrayLengthIncludingNoteLabel, actualWorkItemDetails.WorkItemDetails.Length);
            Assert.Contains(JsonConvert.SerializeObject(expectedWorkItemDetail), JsonConvert.SerializeObject(actualWorkItemDetails.WorkItemDetails));
        }
Exemple #5
0
        public void return_work_items_details()
        {
            var workItemDetailInfo = new WorkItemDetailInfo
            {
                Details = Any.WorkItemDetails(2)
            };

            var expectedWorkItemDetails = workItemDetailInfo.MapWorkItemDetailInfoToWorkItemDetailInfoModel();

            var response = GetWorkItemDetails(workItemDetailInfo) as OkObjectResult;

            var actualWorkItemDetails = ((response.Value as ApiOkResponse).Result as ResourceWrapper <WorkItemDetailInfoModel>).Value as WorkItemDetailInfoModel;

            Assert.Equal(200, response.StatusCode);

            Assert.Equal(expectedWorkItemDetails.WorkItemDetails[0].Name, actualWorkItemDetails.WorkItemDetails[0].Name);
            Assert.Equal(expectedWorkItemDetails.WorkItemDetails[0].Value, actualWorkItemDetails.WorkItemDetails[0].Value);
            Assert.Equal(expectedWorkItemDetails.WorkItemDetails[0].SortOrder, actualWorkItemDetails.WorkItemDetails[0].SortOrder);
            Assert.Equal(expectedWorkItemDetails.WorkItemDetails[0].TranslationKey, actualWorkItemDetails.WorkItemDetails[0].TranslationKey);

            Assert.Equal(expectedWorkItemDetails.WorkItemDetails[1].Name, actualWorkItemDetails.WorkItemDetails[1].Name);
            Assert.Equal(expectedWorkItemDetails.WorkItemDetails[1].Value, actualWorkItemDetails.WorkItemDetails[1].Value);
            Assert.Equal(expectedWorkItemDetails.WorkItemDetails[1].SortOrder, actualWorkItemDetails.WorkItemDetails[1].SortOrder);
            Assert.Equal(expectedWorkItemDetails.WorkItemDetails[1].TranslationKey, actualWorkItemDetails.WorkItemDetails[1].TranslationKey);
        }
Exemple #6
0
        private IActionResult GetWorkItemDetails(WorkItemDetailInfo workItemDetailInfo)
        {
            var workItemTrackerServiceRepositoryMock = new Mock <IWorkItemTrackerServiceRepository>();

            workItemTrackerServiceRepositoryMock.Setup(repository => repository
                                                       .GetWorkItemDetails(It.IsAny <int>()))
            .Returns(new GetWorkItemDetailsResponse {
                WorkItemDetailInfo = workItemDetailInfo
            });

            var translationsServiceMock = new Mock <ITranslationsService>();

            translationsServiceMock.Setup(repository => repository
                                          .TranslateResource(It.IsAny <string>()))
            .Returns("Translated String");

            var urlHelperMock = new Mock <IUrlHelper>();

            urlHelperMock.Setup(repository => repository
                                .Link(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Any.String());

            return(new WorkItemsController(
                       workItemTrackerServiceRepositoryMock.Object,
                       translationsServiceMock.Object,
                       urlHelperMock.Object).GetWorkItemDetails(Any.Int()));
        }
Exemple #7
0
        public void Not_error_when_work_item_details_is_null()
        {
            var workItemDetailInfo = new WorkItemDetailInfo
            {
                NoteLabel = null,
                NoteText  = null,
                NoteLabelTranslationKey = null,
                Details = null
            };

            var actualWorkItemDetailInfoModel = workItemDetailInfo.MapWorkItemDetailInfoToWorkItemDetailInfoModel();

            Assert.Null(actualWorkItemDetailInfoModel.WorkItemDetails);
        }
Exemple #8
0
        public void return_translated_work_item_details_when_translation_key_is_present()
        {
            var workItemDetailInfo = new WorkItemDetailInfo
            {
                NoteLabel = Any.String(),
                NoteText  = Any.String(),
                NoteLabelTranslationKey = Any.String(),
                Details = Any.WorkItemDetails(2)
            };

            var response = GetWorkItemDetails(workItemDetailInfo) as OkObjectResult;

            var actualWorkItemDetails = ((response.Value as ApiOkResponse).Result as ResourceWrapper <WorkItemDetailInfoModel>).Value as WorkItemDetailInfoModel;

            Assert.Equal(200, response.StatusCode);
            Assert.Equal(3, actualWorkItemDetails.WorkItemDetails.Length);
            Assert.Contains("Translated String", actualWorkItemDetails.TranslatedClaimDetailLink);
        }
Exemple #9
0
        public void return_empty_array_when_no_work_item_details_exist_for_work_item_id()
        {
            var workItemDetailInfo = new WorkItemDetailInfo
            {
                NoteLabel = null,
                NoteText  = null,
                NoteLabelTranslationKey = null,
                Details = Any.WorkItemDetails(0)
            };

            var expectedWorkItemDetails = workItemDetailInfo.MapWorkItemDetailInfoToWorkItemDetailInfoModel();

            var response = GetWorkItemDetails(workItemDetailInfo) as NotFoundObjectResult;

            var actualWorkItemDetails = (response.Value as WorkItemDetailInfo);

            Assert.Equal(404, response.StatusCode);
            Assert.Null(actualWorkItemDetails);
        }
        /// <summary>
        /// Map the model object 'WorkItemDetailInfoModel' to 'WorkItemDetailInfo'
        /// </summary>
        public static WorkItemDetailInfoModel MapWorkItemDetailInfoToWorkItemDetailInfoModel(this WorkItemDetailInfo workItemDetailInfo)
        {
            var workItemDetailInfoModel = new WorkItemDetailInfoModel()
            {
                WorkItemDetails = workItemDetailInfo.Details?
                                  .Where(d => !string.IsNullOrEmpty(d.DetailValue))
                                  .Select(d => new WorkItemDetailModel
                {
                    Name           = d.DetailDescription,
                    Value          = d.DetailValue,
                    TranslationKey = (d.RequestInformationEntity?.TranslationKey ?? string.Empty),
                    SortOrder      = d.Order
                })
                                  .OrderBy(d => d.SortOrder)
                                  .ToArray()
            };

            if (!string.IsNullOrEmpty(workItemDetailInfo.NoteText))
            {
                var note = new WorkItemDetailModel
                {
                    Name           = workItemDetailInfo.NoteLabel.NullSafeTrim(),
                    Value          = workItemDetailInfo.NoteText.NullSafeTrim(),
                    TranslationKey = workItemDetailInfo.NoteLabelTranslationKey.NullSafeTrim(),
                };

                workItemDetailInfoModel.WorkItemDetails = workItemDetailInfoModel.WorkItemDetails.Concat(new WorkItemDetailModel[] { note }).ToArray();
            }

            return(workItemDetailInfoModel);
        }