From 41f1dea57b9a67d44d790b9be32e945cb8a56d23 Mon Sep 17 00:00:00 2001 From: cramakri <cramakri> Date: Mon, 22 Oct 2012 09:11:40 +0000 Subject: [PATCH] Working on implementing detail SVN: 27280 --- .../BisKit/Tests/CISDOBIpadServiceTest.m | 34 ++++++++++++++++++ .../UserInterfaceState.xcuserstate | Bin 167087 -> 167078 bytes .../ipad-read-service-v1/ipad_read.py | 4 +-- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/openbis-ipad/BisKit/Tests/CISDOBIpadServiceTest.m b/openbis-ipad/BisKit/Tests/CISDOBIpadServiceTest.m index 75446ccff31..cbf3db442ec 100644 --- a/openbis-ipad/BisKit/Tests/CISDOBIpadServiceTest.m +++ b/openbis-ipad/BisKit/Tests/CISDOBIpadServiceTest.m @@ -115,4 +115,38 @@ STAssertTrue([rawEntities count] > 0, @"The Pad service should have returned some entities."); } +- (void)testDetails +{ + CISDOBAsyncCall *call; + call = [_service loginUser: GetDefaultUserName() password: GetDefaultUserPassword()]; + [self configureAndRunCallSynchronously: call]; + + call = [_service listRootLevelEntities]; + [self configureAndRunCallSynchronously: call]; + + STAssertNotNil(_callResult, @"The iPad service should have returned some entities."); + NSArray *rawEntities = _callResult; + STAssertTrue([rawEntities count] > 0, @"The Pad service should have returned some entities."); + + + // Find an entity with children and drill on it + CISDOBIpadRawEntity *entityWithChildren = nil; + for (CISDOBIpadRawEntity *rawEntity in rawEntities) { + if ([rawEntity.children length] > 2) { + entityWithChildren = rawEntity; + break; + } + } + + // Details + NSError *error; + id refconObject = [NSJSONSerialization JSONObjectWithData: [entityWithChildren.refcon dataUsingEncoding: NSASCIIStringEncoding] options: 0 error: &error]; + STAssertNotNil(refconObject, @"Could not parse refcon string %@ : %@", entityWithChildren.refcon, error); + call = [_service detailsForEntityWithPermId: entityWithChildren.permId refcon: refconObject]; + [self configureAndRunCallSynchronously: call]; + + rawEntities = _callResult; + STAssertEquals([rawEntities count], (NSUInteger) 1, @"The Pad service should have returned one entity for details."); +} + @end diff --git a/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate b/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate index 06d062fcffe376eb04eb5b14acd4f0621ba5d062..74612961f3934f4e7a7982ca013983ebdaa2956d 100644 GIT binary patch delta 5685 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 SJ{!Gn4vVrkKiX+Pu=w9YRWrx{ delta 5700 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 Kb@)~A`~L;QcST_U diff --git a/openbis-ipad/ipad-example-data/ipad-ui/1/dss/reporting-plugins/ipad-read-service-v1/ipad_read.py b/openbis-ipad/ipad-example-data/ipad-ui/1/dss/reporting-plugins/ipad-read-service-v1/ipad_read.py index a86a0052c7c..9e9bee46695 100644 --- a/openbis-ipad/ipad-example-data/ipad-ui/1/dss/reporting-plugins/ipad-read-service-v1/ipad_read.py +++ b/openbis-ipad/ipad-example-data/ipad-ui/1/dss/reporting-plugins/ipad-read-service-v1/ipad_read.py @@ -260,10 +260,10 @@ class ExampleDetailRequestHandler(DetailRequestHandler): def retrieve_data(self): # Get the data and add a row for each data item entities = self.parameters['entities'] - detail_samples = [entity for entity in entities and 'SAMPLE' == entity['REFCON']['entityKind']] + detail_samples = [entity for entity in entities if 'SAMPLE' == entity['REFCON']['entityKind']] self.samples = retrieve_samples(detail_samples) - detail_materials = [entity for entity in entities and 'MATERIAL' == entity['REFCON']['entityKind']] + detail_materials = [entity for entity in entities if 'MATERIAL' == entity['REFCON']['entityKind']] material_identifiers = MaterialIdentifierCollection() for detail_material in detail_materials: add_material_to_collection(detail_material, material_identifiers) -- GitLab