diff --git a/Specs/CoreData/RKManagedObjectLoaderSpec.m b/Specs/CoreData/RKManagedObjectLoaderSpec.m index a6807926..7ed7ad11 100644 --- a/Specs/CoreData/RKManagedObjectLoaderSpec.m +++ b/Specs/CoreData/RKManagedObjectLoaderSpec.m @@ -245,5 +245,21 @@ assertThatBool([doNotDeleteMe isDeleted], is(equalToBool(NO))); } +- (void)testShouldNotAssertDuringObjectMappingOnSynchronousRequest { + RKManagedObjectStore* store = RKSpecNewManagedObjectStore(); + RKObjectManager* objectManager = RKSpecNewObjectManager(); + RKSpecStubNetworkAvailability(YES); + objectManager.objectStore = store; + + RKObjectMapping* mapping = [RKManagedObjectMapping mappingForClass:[RKHuman class]]; + RKManagedObjectLoader* objectLoader = [objectManager loaderWithResourcePath:@"/humans/1"]; + objectLoader.objectMapping = mapping; + RKResponse *response = [objectLoader sendSynchronously]; + + NSArray* humans = [RKHuman findAll]; + assertThatUnsignedInteger([humans count], is(equalToInt(1))); + assertThatInteger(response.statusCode, is(equalToInt(200))); +} + @end diff --git a/Specs/ObjectMapping/RKObjectLoaderSpec.m b/Specs/ObjectMapping/RKObjectLoaderSpec.m index 88ca534a..f6fba36a 100644 --- a/Specs/ObjectMapping/RKObjectLoaderSpec.m +++ b/Specs/ObjectMapping/RKObjectLoaderSpec.m @@ -731,4 +731,18 @@ assertThat(blockError, is(equalTo(expectedError))); } +- (void)testShouldNotAssertDuringObjectMappingOnSynchronousRequest { + RKObjectManager* objectManager = RKSpecNewObjectManager(); + + RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[RKSpecComplexUser class]]; + userMapping.rootKeyPath = @"data.STUser"; + [userMapping mapAttributes:@"firstname", nil]; + RKObjectLoader* objectLoader = [objectManager loaderWithResourcePath:@"/humans/1"]; + objectLoader.objectMapping = userMapping; + [objectLoader sendSynchronously]; + RKResponse *response = [objectLoader sendSynchronously]; + + assertThatInteger(response.statusCode, is(equalToInt(200))); +} + @end