forked from CodaFi/AFNetworking-RACExtensions
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathRAFHTTPClientSpec.m
More file actions
136 lines (121 loc) · 4.43 KB
/
Copy pathRAFHTTPClientSpec.m
File metadata and controls
136 lines (121 loc) · 4.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//
// RAFHTTPClientSpec.m
// Reactive AFNetworking Example
//
// Created by Robert Widmann on 5/7/13.
// Copyright (c) 2013 CodaFi. All rights reserved.
//
#import "AFHTTPRequestOperationManager+RAFMocking.h"
#import "AFHTTPRequestOperationManager+RACSupport.h"
SpecBegin(RAFHTTPClient)
__block AFHTTPRequestOperationManager *client = nil;
beforeEach(^{
NSString *urlString = @"http://example.com/";
client = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:urlString]];
});
describe(@"-rac_getPath:parameters:", ^{
it(@"should create an immutable signal", ^{
RACSignal *getSignal = [client rac_GET:@"http://www.example.com" parameters:nil];
expect(getSignal).notTo.beNil();
expect(^{
[getSignal performSelector:@selector(sendNext:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[getSignal performSelector:@selector(sendError:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[getSignal performSelector:@selector(sendCompleted)];
}).to.raise(NSInvalidArgumentException);
});
it(@"should GET a path", ^{
[[client mock_GET:@"http://www.example.com" parameters:nil]subscribeNext:^(id x) {
expect(x).notTo.beNil();
expect(x).to.equal(AFHTTPClientMockResponse);
}];
});
});
describe(@"-rac_putPath:parameters:", ^{
it(@"should create an immutable signal", ^{
RACSignal *putSignal = [client rac_PUT:@"http://www.example.com" parameters:nil];
expect(putSignal).notTo.beNil();
expect(^{
[putSignal performSelector:@selector(sendNext:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[putSignal performSelector:@selector(sendError:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[putSignal performSelector:@selector(sendCompleted)];
}).to.raise(NSInvalidArgumentException);
});
it(@"should GET a path", ^{
[[client mock_PUT:@"http://www.example.com" parameters:nil]subscribeNext:^(id x) {
expect(x).notTo.beNil();
expect(x).to.equal(AFHTTPClientMockResponse);
}];
});
});
describe(@"-rac_POST:parameters:", ^{
it(@"should create an immutable signal", ^{
RACSignal *postSignal = [client rac_POST:@"http://www.example.com" parameters:nil];
expect(postSignal).notTo.beNil();
expect(^{
[postSignal performSelector:@selector(sendNext:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[postSignal performSelector:@selector(sendError:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[postSignal performSelector:@selector(sendCompleted)];
}).to.raise(NSInvalidArgumentException);
});
it(@"should POST a path", ^{
[[client mock_POST:@"http://www.example.com" parameters:nil]subscribeNext:^(id x) {
expect(x).notTo.beNil();
expect(x).to.equal(AFHTTPClientMockResponse);
}];
});
});
describe(@"-rac_deletePath:parameters:", ^{
it(@"should create an immutable signal", ^{
RACSignal *deleteSignal = [client rac_DELETE:@"http://www.example.com" parameters:nil];
expect(deleteSignal).notTo.beNil();
expect(^{
[deleteSignal performSelector:@selector(sendNext:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[deleteSignal performSelector:@selector(sendError:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[deleteSignal performSelector:@selector(sendCompleted)];
}).to.raise(NSInvalidArgumentException);
});
it(@"should GET a path", ^{
[[client mock_DELETE:@"http://www.example.com" parameters:nil]subscribeNext:^(id x) {
expect(x).notTo.beNil();
expect(x).to.equal(AFHTTPClientMockResponse);
}];
});
});
describe(@"-rac_PATCH:parameters:", ^{
it(@"should create an immutable signal", ^{
RACSignal *patchSignal = [client rac_PATCH:@"http://www.example.com" parameters:nil];
expect(patchSignal).notTo.beNil();
expect(^{
[patchSignal performSelector:@selector(sendNext:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[patchSignal performSelector:@selector(sendError:) withObject:NSNull.null];
}).to.raise(NSInvalidArgumentException);
expect(^{
[patchSignal performSelector:@selector(sendCompleted)];
}).to.raise(NSInvalidArgumentException);
});
it(@"should PATCH a path", ^{
[[client mock_PATCH:@"http://www.example.com" parameters:nil]subscribeNext:^(id x) {
expect(x).notTo.beNil();
expect(x).to.equal(AFHTTPClientMockResponse);
}];
});
});
SpecEnd