mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-05-07 01:41:46 +08:00
71 lines
2.6 KiB
Objective-C
71 lines
2.6 KiB
Objective-C
//
|
|
// RKRequestDescriptorTest.m
|
|
// RestKit
|
|
//
|
|
// Created by Blake Watters on 10/14/12.
|
|
// Copyright (c) 2012 RestKit. All rights reserved.
|
|
//
|
|
|
|
#import "RKTestEnvironment.h"
|
|
#import "RKDynamicMapping.h"
|
|
|
|
@interface RKRequestDescriptorTest : RKTestCase
|
|
|
|
@end
|
|
|
|
@implementation RKRequestDescriptorTest
|
|
|
|
- (void)testValidArgumentsInitializeWithoutRaisingException
|
|
{
|
|
RKObjectMapping *invalidMapping = [RKObjectMapping requestMapping];
|
|
NSException *exception = nil;
|
|
@try {
|
|
[RKRequestDescriptor requestDescriptorWithMapping:invalidMapping objectClass:[RKRequestDescriptorTest class] rootKeyPath:nil];
|
|
}
|
|
@catch (NSException *caughtExpection) {
|
|
exception = caughtExpection;
|
|
}
|
|
@finally {
|
|
expect(exception).to.beNil();
|
|
}
|
|
}
|
|
|
|
- (void)testInvalidArgumentExceptionIsRaisedIfInitializedWithNonRequestMapping
|
|
{
|
|
RKObjectMapping *invalidMapping = [RKObjectMapping mappingForClass:[RKRequestDescriptorTest class]];
|
|
NSException *exception = nil;
|
|
@try {
|
|
[RKRequestDescriptor requestDescriptorWithMapping:invalidMapping objectClass:[RKRequestDescriptorTest class] rootKeyPath:nil];
|
|
}
|
|
@catch (NSException *caughtExpection) {
|
|
exception = caughtExpection;
|
|
}
|
|
@finally {
|
|
expect(exception).notTo.beNil();
|
|
expect(exception.name).to.equal(NSInvalidArgumentException);
|
|
expect(exception.reason).to.equal(@"`RKRequestDescriptor` objects must be initialized with a mapping whose target class is `NSMutableDictionary`, got 'RKRequestDescriptorTest' (see `[RKObjectMapping requestMapping]`)");
|
|
}
|
|
}
|
|
|
|
- (void)testInvalidArgumentExceptionIsRaisedInInitializedWithDynamicMappingContainingNonRequestMappings
|
|
{
|
|
RKObjectMapping *invalidMapping = [RKObjectMapping mappingForClass:[RKRequestDescriptorTest class]];
|
|
RKDynamicMapping *dynamicMapping = [RKDynamicMapping new];
|
|
[dynamicMapping setObjectMapping:invalidMapping whenValueOfKeyPath:@"whatever" isEqualTo:@"whatever"];
|
|
|
|
NSException *exception = nil;
|
|
@try {
|
|
[RKRequestDescriptor requestDescriptorWithMapping:dynamicMapping objectClass:[RKRequestDescriptorTest class] rootKeyPath:nil];
|
|
}
|
|
@catch (NSException *caughtExpection) {
|
|
exception = caughtExpection;
|
|
}
|
|
@finally {
|
|
expect(exception).notTo.beNil();
|
|
expect(exception.name).to.equal(NSInvalidArgumentException);
|
|
expect(exception.reason).to.equal(@"`RKRequestDescriptor` objects may only be initialized with `RKDynamicMapping` objects containing `RKObjectMapping` objects whose target class is `NSMutableDictionary`, got 'RKRequestDescriptorTest' (see `[RKObjectMapping requestMapping]`)");
|
|
}
|
|
}
|
|
|
|
@end
|