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); }
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); }
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); }
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)); }
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); }
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())); }
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); }
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); }
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); }