public void SpecialInvalidCase(InvalidCase caseName, TestCoreFramework.Enums.ResourceType resourceId, int baseIndex, int mergeIndex) { MergeManager mergeHandler = new MergeManager(); Common.SendAndVerifyMergeRequest(RecordsSpecialMergeCreator, mergeHandler, resourceId.ToPrivateApiResource(), 0, 1); Common.SendAndVerifyMergeRequest(RecordsSpecialMergeCreator, mergeHandler, resourceId.ToPrivateApiResource(), baseIndex, mergeIndex, false); }
public void UpdateInvalidIdRecordWithTest(TestCoreFramework.Enums.ResourceType resourceId, int id) { var recordHandler = new RecordManager(); var response = recordHandler.UpdateRecords( RecordRequestComposer.ComposeUpdateRequest().Append(item => item.ForResource(resourceId) .Append(x => x.WithId(id))).Result); PrAssert.That(response, PrIs.ErrorResponse()); }
public void UpdateValidRecordWithIdTest(TestCoreFramework.Enums.ResourceType resourceId) { var recordHandler = new RecordManager(); var response = recordHandler.UpdateRecords( RecordRequestComposer.ComposeUpdateRequest().Append(item => item.ForResource(resourceId) .Append(x => x.WithId((int)RecordsCreator.Data[resourceId.ToPrivateApiResource()].Id))).Result); PrAssert.That(response, PrIs.SuccessfulResponse()); }
public PrivateApiResponse <object> MakeFieldsActive(TestCoreFramework.Enums.ResourceType resource, Guid[] fieldGuids, LayoutItem fromSection, Guid toSection) { var unusedSection = GetUnusedFieldsSectionDetails(resource).Result.Values.First().Value; var request = new SetLayoutRequest { Values = new Dictionary <Guid, LayoutItem> { [GetUiLayerId(resource)] = new LayoutItem { Id = GetUiLayerId(resource), Cells = new List <CellItem> { new CellItem { Content = new Dictionary <string, Guid> { ["layout"] = toSection }, CoulmnsCount = 1, RowsCount = 1, XLocation = 1, YLocation = 10 } } }, [GetUnusedSectionId(resource)] = new LayoutItem { Id = GetUnusedSectionId(resource), Cells = unusedSection.Cells.Where(x => !fieldGuids.Any(item => item != x.Content["field"])).ToList() }, [toSection] = new LayoutItem { Id = toSection, Cells = fieldGuids.Select(x => new CellItem { XLocation = 1, YLocation = Array.IndexOf(fieldGuids, x), CoulmnsCount = 1, RowsCount = 1, Content = new Dictionary <string, Guid> { ["field"] = x } }).ToList() } } }; var requestContent = ConvertToJsonString(request); using (LogHelper.LoggerForCurrentTest.EnterReproStep($"Making fields active by moving them to displayable section in UI")) { return(ProcessResponseWithContent <object>(Connection.SendAsync(FieldLayoutApiRelativeUrl, requestContent, HttpMethod.Put).Result)); } }
private PrivateApiResponse <RecordsGetResponseItem> ReadRecords(TestCoreFramework.Enums.ResourceType readResource, int[] ids, string[] fields) { RecordManager recordHandler = new RecordManager(); return(recordHandler.ReadRecords( RecordRequestComposer.ComposeReadRequest() .ForResource(readResource) .WithIds(ids) .Fields(fields) .Result)); }
public void InsertInvalidPhaseDateRecordTest(TestCoreFramework.Enums.ResourceType resourceId, int ownerId, ResourceFields.ValidPhase phase, ResourceFields.InvalidDateTime time) { var fieldHandler = new FieldManager(); var fields = fieldHandler.GetFieldGuid(ResourceFields.RequireFields[resourceId], new[] { resourceId }) .Result.Result.ToDictionary(x => $"{char.ToUpper(x.Resource[0]) + x.Resource.Substring(1)}.{x.Alias}", x => (int)UuidUtil.GetId(x.Id)); var recordHandler = new RecordManager(); var request = RecordRequestComposer.ComposeCreateRequest() .Append(resourceId, CreateResourceRequiredFieldData(fields, resourceId, ownerId, phase, time)) .Result; var response = recordHandler.WriteRecords(request); PrAssert.That(response, PrIs.ErrorResponse()); }
public void MergeRecords(ResourceId resourceId, TestCoreFramework.Enums.ResourceType readResource, string refField) { MergeManager mergeHandler = new MergeManager(); Common.SendAndVerifyMergeRequest(RecordsMergeCreator, mergeHandler, resourceId, 0, 1); var readRecordData = ReadRecords(readResource, new[] { (int)RecordsMergeCreator.Data[$"{readResource.ToPrivateApiResource()}{0}"].Id, (int)RecordsMergeCreator.Data[$"{readResource.ToPrivateApiResource()}{1}"].Id }, new string[] { refField }); PrAssert.That(readRecordData, PrIs.SuccessfulResponse()); string readValue = readRecordData.Result.Items.First()[refField].ToString(); string actualValue = readValue.StartsWith("[") && readValue.EndsWith("]") ? JsonConvert.DeserializeObject <List <int> >(readValue).SingleOrDefault().ToString() : readValue; PrAssert.That(actualValue, PrIs.EqualTo(RecordsMergeCreator.Data[$"{resourceId}{0}"].Id.ToString()), $"The first {readResource} is not reference to base id record"); readValue = readRecordData.Result.Items.Last()[refField].ToString(); actualValue = readValue.StartsWith("[") && readValue.EndsWith("]") ? JsonConvert.DeserializeObject <List <int> >(readValue).SingleOrDefault().ToString() : readValue; PrAssert.That(actualValue, PrIs.EqualTo(RecordsMergeCreator.Data[$"{resourceId}{0}"].Id.ToString()), $"The second {readResource} is not reference to base id record"); }
public void UpdateValidRecordWithOwnerTest(TestCoreFramework.Enums.ResourceType resourceId, int ownerId) { var fieldHandler = new FieldManager(); var fields = fieldHandler.GetFieldGuid(new List <string>() { "P_Owner" }, new[] { resourceId }) .Result.Result.ToDictionary(x => $"{char.ToUpper(x.Resource[0]) + x.Resource.Substring(1)}.{x.Alias}", x => (int)UuidUtil.GetId(x.Id)); var recordHandler = new RecordManager(); var response = recordHandler.UpdateRecords( RecordRequestComposer.ComposeUpdateRequest().Append(item => item.ForResource(resourceId) .Append(x => x.WithId((int)RecordsCreator.Data[resourceId.ToPrivateApiResource()].Id).AppendField(fields[$"{resourceId.ToResourceName()}.P_Owner"], ownerId))).Result); PrAssert.That(response, PrIs.SuccessfulResponse()); PrAssert.That(response.Result, PrIs.Not.Null); PrAssert.That(response.Result.Ids[0][0], PrIs.Not.Null); }
public void MergeTwoLevelClientRecords(TestCoreFramework.Enums.ResourceType resourceId) { MergeManager mergeHandler = new MergeManager(); Common.SendAndVerifyMergeRequest(RecordsTwoLevelMergeCreator, mergeHandler, resourceId.ToPrivateApiResource(), 0, 1); Common.SendAndVerifyMergeRequest(RecordsTwoLevelMergeCreator, mergeHandler, resourceId.ToPrivateApiResource(), 2, 3); Common.SendAndVerifyMergeRequest(RecordsTwoLevelMergeCreator, mergeHandler, resourceId.ToPrivateApiResource(), 0, 2); var readRecordData = ReadRecords(resourceId, new[] { (int)RecordsTwoLevelMergeCreator.Data[$"{resourceId.ToPrivateApiResource()}{0}"].Id }, mappingDictionary[resourceId.ToPrivateApiResource()].Keys.ToArray()); PrAssert.That(readRecordData, PrIs.SuccessfulResponse()); foreach (var item in mappingDictionary[resourceId.ToPrivateApiResource()]) { string readValue = readRecordData.Result.Items.SingleOrDefault()[item.Key].ToString(); string actualValue = readValue.StartsWith("[") && readValue.EndsWith("]") ? JsonConvert.DeserializeObject <List <int> >(readValue).SingleOrDefault().ToString() : readValue; PrAssert.That(actualValue, PrIs.EqualTo(item.Key == $"{resourceId}.P_Name" ? Common.MappingName : item.Value), $"The BaseId record field {item.Key} contains unexpected value"); } }
public void UpdateValidRecordWithOptionalFieldTest(TestCoreFramework.Enums.ResourceType resourceId, string field) { var fieldHandler = new FieldManager(); var fields = fieldHandler.GetFieldGuid(new List <string> { field.Split('.')[1] }, new[] { resourceId }) .Result.Result.ToDictionary(x => $"{char.ToUpper(x.Resource[0]) + x.Resource.Substring(1)}.{x.Alias}", x => (int)UuidUtil.GetId(x.Id)); var recordHandler = new RecordManager(); var response = recordHandler.UpdateRecords( RecordRequestComposer.ComposeUpdateRequest().Append(item => item.ForResource(resourceId) .Append(x => x.WithId((int)RecordsCreator.Data[resourceId.ToPrivateApiResource()].Id).AppendField(fields[field], ResourceFields.FieldsDictionary[resourceId][field] == ResourceFields.InputType.Option ? OptionForAlias.Data[field.Split('.')[1]] : ResourceFields.ValueDictionary[ResourceFields.FieldsDictionary[resourceId][field]]))).Result); PrAssert.That(response, PrIs.SuccessfulResponse()); PrAssert.That(response.Result, PrIs.Not.Null); PrAssert.That(response.Result.Ids[0][0], PrIs.Not.Null); }
public void UpdateMissingRequiredFieldRecordWithTest(TestCoreFramework.Enums.ResourceType resourceId, string field) { var fieldHandler = new FieldManager(); var fields = fieldHandler.GetFieldGuid(ResourceFields.RequireFields[resourceId].Where(s => s != field), new[] { resourceId }) .Result.Result.ToDictionary(x => $"{char.ToUpper(x.Resource[0]) + x.Resource.Substring(1)}.{x.Alias}", x => (int)UuidUtil.GetId(x.Id)); var parameters = new Dictionary <int, object>(); foreach (var item in ResourceFields.RequireFields[resourceId].Where(s => s != field)) { parameters.Add(fields[$"{resourceId.ToResourceName()}.{field}"], ResourceFields.ValueDictionary[ResourceFields.FieldsDictionary[resourceId][$"{resourceId.ToResourceName()}.{field}"]]); } var recordHandler = new RecordManager(); var response = recordHandler.UpdateRecords( RecordRequestComposer.ComposeUpdateRequest().Append(item => item.ForResource(resourceId) .Append(x => x.WithId((int)RecordsCreator.Data[resourceId.ToPrivateApiResource()].Id).AppendFields(parameters))).Result); PrAssert.That(response, PrIs.ErrorResponse()); }
public void InsertValidRecordWithOptionFieldsTest(TestCoreFramework.Enums.ResourceType resourceId, string field) { var fieldHandler = new FieldManager(); var fields = fieldHandler.GetFieldGuid(ResourceFields.RequireFields[resourceId].Append(field.Split('.')[1]), new[] { resourceId }) .Result.Result.ToDictionary(x => $"{char.ToUpper(x.Resource[0]) + x.Resource.Substring(1)}.{x.Alias}", x => (int)UuidUtil.GetId(x.Id)); var recordHandler = new RecordManager(); var request = RecordRequestComposer.ComposeCreateRequest() .Append(resourceId, CreateResourceOptionalFieldData(fields, resourceId, 1, ResourceFields.ValidPhase.Root, ResourceFields.ValidDateTime.Now, field)) .Result; var response = recordHandler.WriteRecords(request); PrAssert.That(response, PrIs.SuccessfulResponse()); PrAssert.That(response.Result, PrIs.Not.Null); PrAssert.That(response.Result.Ids[0][0], PrIs.Not.Null); cleaner.Delete(resourceId.ToPrivateApiResource(), response.Result.Ids[0][0].ToString()); }
public void UpdateValidRecordWithOwnerTest(TestCoreFramework.Enums.ResourceType resourceId, ResourceFields.ValidPhase phase, ResourceFields.ValidDateTime time) { var fieldHandler = new FieldManager(); var fields = fieldHandler.GetFieldGuid(new List <string>() { "P_Phase", "P_PhaseDate" }, new[] { resourceId }) .Result.Result.ToDictionary(x => $"{char.ToUpper(x.Resource[0]) + x.Resource.Substring(1)}.{x.Alias}", x => (int)UuidUtil.GetId(x.Id)); var recordHandler = new RecordManager(); var response = recordHandler.UpdateRecords( RecordRequestComposer.ComposeUpdateRequest().Append(item => item.ForResource(resourceId) .Append(x => x.WithId((int)RecordsCreator.Data[resourceId.ToPrivateApiResource()].Id) .AppendFields(new Dictionary <int, object> { [fields[$"{resourceId.ToResourceName()}.P_Phase"]] = RootPhaseOption.Data[resourceId], [fields[$"{resourceId.ToResourceName()}.P_PhaseDate"]] = ResourceFields.PhaseTimeMapper[time] }))).Result); PrAssert.That(response, PrIs.SuccessfulResponse()); PrAssert.That(response.Result, PrIs.Not.Null); PrAssert.That(response.Result.Ids[0][0], PrIs.Not.Null); }
public void DeletedIds(TestCoreFramework.Enums.ResourceType resourceId) { var baseId = DeletedRecord.Data[resourceId.ToPrivateApiResource()].Ids[0][0]; var mergeId = DeletedRecord.Data[resourceId.ToPrivateApiResource()].Ids[1][0]; var clientId = DeletedRecord.Data[ResourceId.Client].Ids[0][0]; var requestContent = new Dictionary <string, object>() { ["baseId"] = baseId, ["mergedId"] = new List <int>() { mergeId }, ["mapping"] = Common.GetMapping(resourceId.ToPrivateApiResource(), (ulong)baseId, (ulong)clientId), }; MergeManager mergeHandler = new MergeManager(); var response = mergeHandler.MergeRecords <MergeResponse>(resourceId.ToPrivateApiResource(), requestContent, System.Net.Http.HttpMethod.Post); PrAssert.That(response, PrIs.ErrorResponse().With.HttpCode((int)HttpStatusCode.BadRequest)); PrAssert.That(response.Errors.Code, PrIs.EqualTo((int)ResultCode.InvalidParameter)); PrAssert.That(response.Errors.Error, PrIs.EqualTo("Invalid Parameter.")); }
public PrivateApiResponse <Dictionary <string, Guid> > CreateSection(TestCoreFramework.Enums.ResourceType resource, string name = "TestSection", int columnsCount = 1, int rowsCount = 0) { var request = new CreateSectionRequest { TargetResourceId = (int)resource, SectionDescription = new CreateSectionRequest.SectionItem { ColumnsCount = columnsCount, RowsCount = rowsCount, Title = new Dictionary <string, string> { ["ja"] = name } } }; var requestContent = ConvertToJsonString(request); using (LogHelper.LoggerForCurrentTest.EnterReproStep($"Creating a new section \"{name}\" in resource {resource}")) { return(ProcessResponseWithContent <Dictionary <string, Guid> >(Connection.SendAsync(FieldLayoutApiRelativeUrl, requestContent, HttpMethod.Post).Result)); } }
public static Guid GetUiLayerId(TestCoreFramework.Enums.ResourceType resource, string partition = null) { return(UuidUtil.BuildPortersGuid(IdType.FieldLayout, 1, Convert.ToUInt32(partition ?? TestCoreFramework.AuthenticationInfoProvider.Current.DefaultPartition), MailLayerIds[resource])); }
private Dictionary <int, object> CreateResourceOptionalFieldData(Dictionary <string, int> fields, TestCoreFramework.Enums.ResourceType resourceId, int ownerId, ResourceFields.ValidPhase phase, ResourceFields.ValidDateTime time, string optionField) { var result = CreateResourceRequiredFieldData(fields, resourceId, ownerId, phase, time); result.Add(fields[$"{optionField}"], ResourceFields.FieldsDictionary[resourceId][optionField] == ResourceFields.InputType.Option ? OptionForAlias.Data[optionField.Split('.')[1]] : ResourceFields.ValueDictionary[ResourceFields.FieldsDictionary[resourceId][optionField]]); return(result); }
private Dictionary <int, object> CreateResourceUserFieldData(Dictionary <string, int> fields, TestCoreFramework.Enums.ResourceType resourceId, int ownerId, ResourceFields.ValidPhase phase, ResourceFields.ValidDateTime time, string optionField) { var result = CreateResourceRequiredFieldData(fields, resourceId, ownerId, phase, time); result.Add(fields[$"{optionField}"], "This is text line"); return(result); }
private Dictionary <int, object> CreateResourceRequiredFieldData(Dictionary <string, int> fields, TestCoreFramework.Enums.ResourceType resourceId, int ownerId, ResourceFields.ValidPhase phase, ResourceFields.ValidDateTime time) { var result = new Dictionary <int, object>(); foreach (var fieldName in ResourceFields.RequireFields[resourceId]) { result.Add(fields[$"{resourceId.ToResourceName()}.{fieldName}"], ResourceFields.DefaultValue[fieldName](resourceId, ownerId, resourceId != TestCoreFramework.Enums.ResourceType.Contract ? RootPhaseOption.Data[resourceId] : 0, ResourceFields.PhaseTimeMapper[time], RecordsCreator)); } return(result); }
public static string GetFieldUuId(string alias, TestCoreFramework.Enums.ResourceType resource) { var fieldMng = new FieldManager(); return(fieldMng.GetFieldGuid(new[] { alias }, new[] { resource }).Result.Result.FirstOrDefault().Id.ToString()); }
public static ResourceId ToPrivateApiResource(this TestCoreFramework.Enums.ResourceType resource) { return((ResourceId)(int)resource); }
public PrivateApiResponse <GetLayoutResponse> GetUnusedFieldsSectionDetails(TestCoreFramework.Enums.ResourceType resource) { return(GetSectionDetails(GetUnusedSectionId(resource))); }