public static async Task ToDTO_FieldIsYesNo_ReturnsCorrectValue(this IObjectManager manager, IHelper helper, int workspaceId, int docId) { //ARRANGE var fieldGuid = Guid.Parse(DocumentFieldDefinitions.YesNo); var client = helper.GetRSAPIClient(workspaceId); client.Repositories.Document.UpdateSingle(new Document(docId) { Fields = new List <FieldValue> { new FieldValue(fieldGuid, true) } }); //ACT var obj = SharedTestCases.CreateTestObject( docId, new FieldRef(fieldGuid), true); var result = await manager.ReadAsync(workspaceId, obj, null); var dto = result.ToDTODocument(); var fieldValue = dto[fieldGuid].ValueAsYesNo; //ASSERT Assert.True(fieldValue); Assert.Equal(kCura.Relativity.Client.FieldType.YesNo, dto[fieldGuid].FieldType); }
public async Task UpdateAsync_CallingContextArtifactIdSet_ReturnsCorrectStatus() { //ARRANGE var fieldGuid = Guid.Parse(DocumentFieldDefinitions.FixedLength); _creation.Create(_fixture.WorkspaceId, 1); _installFixture.Init(_fixture.WorkspaceId, ApplicationInstallContext.FieldTestPath); var client = _fixture.Helper.GetServicesManager().CreateProxy <IRSAPIClient>(Relativity.API.ExecutionIdentity.System); client.APIOptions.WorkspaceID = _fixture.WorkspaceId; var query = new Query <Layout>(); query.Condition = new TextCondition(LayoutFieldNames.TextIdentifier, TextConditionEnum.EqualTo, "Default Test Layout"); query.Fields = FieldValue.AllFields; var layout = client.Repositories.Layout.Query(query).Results.First().Artifact; //ACT var obj = SharedTestCases.CreateTestObject( _creation.DocIds.First(), new FieldRef(fieldGuid), "hello world"); var result = await _manager.UpdateAsync(_fixture.WorkspaceId, obj, new Interfaces.CallingContext { Layout = new Interfaces.LayoutRef(layout.Name, layout.ArtifactID) }); //ASSERT Assert.True(result.EventHandlerStatuses.All(x => x.Success)); }
public static async Task <RelativityObject> ReadAsync_CallingContextSetLayoutHasPreload_ReturnsCorrectLoadedFields(this IObjectManager manager, IHelper helper, int workspaceId, int docId) { var fieldGuid = Guid.Parse(DocumentFieldDefinitions.LongText); var client = helper.GetServicesManager().CreateProxy <IRSAPIClient>(Relativity.API.ExecutionIdentity.System); client.APIOptions.WorkspaceID = workspaceId; var query = new Query <Layout>(); query.Condition = new WholeNumberCondition(LayoutFieldNames.ObjectType, NumericConditionEnum.EqualTo, 10); query.Fields = FieldValue.AllFields; var layout = client.Repositories.Layout.Query(query) .Results .First(x => x.Artifact.Guids.Contains(Guid.Parse(LayoutDefinitions.PreloadPopulatesLongText))).Artifact; var obj = SharedTestCases.CreateTestObject( docId, new FieldRef(fieldGuid), true); var result = await manager.ReadAsync(workspaceId, obj, new Interfaces.CallingContext { Layout = new Interfaces.LayoutRef(layout.Name, layout.ArtifactID) }); return(result); }
public static async Task ToDTO_FieldIsUser_ReturnsCorrectValue(this IObjectManager manager, IHelper helper, int workspaceId, int docId) { //ARRANGE var fieldGuid = Guid.Parse(DocumentFieldDefinitions.User); var client = helper.GetRSAPIClient(workspaceId); client.APIOptions.WorkspaceID = -1; var q = new Query <Group>(); q.ArtifactTypeID = (int)kCura.Relativity.Client.ArtifactType.Group; q.Condition = new kCura.Relativity.Client.CompositeCondition(new kCura.Relativity.Client.WholeNumberCondition(GroupFieldNames.GroupType, kCura.Relativity.Client.NumericConditionEnum.EqualTo, 2), kCura.Relativity.Client.CompositeConditionEnum.And, new kCura.Relativity.Client.ObjectsCondition(GroupFieldNames.Workspaces, kCura.Relativity.Client.ObjectsConditionEnum.AnyOfThese, new int[] { workspaceId })); var res = client.Repositories.Group.Query(q); var userQ = new Query <kCura.Relativity.Client.DTOs.User>(); userQ.Condition = new kCura.Relativity.Client.ObjectsCondition(UserFieldNames.Groups, kCura.Relativity.Client.ObjectsConditionEnum.AnyOfThese, res.Results.Select(x => x.Artifact.ArtifactID).ToList()); var userRes = client.Repositories.User.Query(userQ); if (userRes.TotalCount < 1) { //ideally you'd create a user in this but that's too much for the scope of this work throw new NotSupportedException("No user to run this test, please create a non system admin and ensure the group is assigned to the workspace."); } var value = userRes.Results.First().Artifact; client.APIOptions.WorkspaceID = workspaceId; client.Repositories.Document.UpdateSingle(new Document(docId) { Fields = new List <FieldValue> { new FieldValue(fieldGuid, value) } }); //ACT var obj = SharedTestCases.CreateTestObject( docId, new FieldRef(fieldGuid), true); var result = await manager.ReadAsync(workspaceId, obj, null); var dto = result.ToDTODocument(); var fieldValue = dto[fieldGuid].ValueAsUser; //ASSERT Assert.Equal(value.ArtifactID, fieldValue.ArtifactID); Assert.Equal(kCura.Relativity.Client.FieldType.User, dto[fieldGuid].FieldType); }
public static async Task CreateAsync_SanityCheckRDO_ReturnsSuccess(this IObjectManager manager, IHelper helper, int workspaceId, Guid objectTypeGuid) { //ARRANGE var fieldGuid = Guid.Parse(SingleObjectFieldDefinitions.LongText); var fieldValue = "Asdf"; var dbContext = helper.GetDBContext(workspaceId); var sql = "select o.[DescriptorArtifactTypeID] from [eddsdbo].[ObjectType] o join [eddsdbo].[ArtifactGuid] ag on o.artifactId = ag.ArtifactID where ag.ArtifactGuid = @guid"; var objectTypeId = dbContext.ExecuteSqlStatementAsScalar <int?>(sql, new[] { new SqlParameter("@guid", objectTypeGuid) }); var artifact = SharedTestCases.CreateTestObject(null, new FieldRef(fieldGuid), fieldValue, objectTypeId); //ACT var result = await manager.CreateAsync(workspaceId, artifact, null); artifact.ArtifactId = result.Object.ArtifactId; var readResult = await manager.ReadAsync(workspaceId, artifact, null); //ASSERT Assert.Equal(fieldValue, result.Object[fieldGuid].ValueAsString()); }
public static async Task ToDTO_FieldIsMultiObject_ReturnsCorrectValue(this IObjectManager manager, IHelper helper, int workspaceId, int docId) { //ARRANGE var fieldGuid = Guid.Parse(DocumentFieldDefinitions.MultiObject); var client = helper.GetRSAPIClient(workspaceId); var rdo = client.Repositories.RDO.CreateSingle(new RDO { ArtifactTypeGuids = new List <Guid> { Guid.Parse(ObjectTypeGuids.MultiObject) }, TextIdentifier = Guid.NewGuid().ToString() }); var value = new RDO(rdo); client.Repositories.Document.UpdateSingle(new Document(docId) { Fields = new List <FieldValue> { new FieldValue(fieldGuid, new FieldValueList <Artifact>(value)) } }); //ACT var obj = SharedTestCases.CreateTestObject( docId, new FieldRef(fieldGuid), true); var result = await manager.ReadAsync(workspaceId, obj, null); var dto = result.ToDTODocument(); var fieldValue = dto[fieldGuid].GetValueAsMultipleObject <Artifact>().First(); //ASSERT Assert.Equal(value.ArtifactID, fieldValue.ArtifactID); Assert.Equal(kCura.Relativity.Client.FieldType.MultipleObject, dto[fieldGuid].FieldType); }