Skip to content

Commit 5f6c12a

Browse files
committed
Added unit test for packer.
1 parent 3485d8d commit 5f6c12a

File tree

5 files changed

+106
-1
lines changed

5 files changed

+106
-1
lines changed

STNetTaskQueue/STHTTPNetTaskParametersPacker.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ - (NSDictionary *)parametersFromDictionary:(NSDictionary *)dictionary inRequestO
9090

9191
- (id)parameterValueFromValue:(id)value inRequestObject:(id<STHTTPNetTaskRequestObject>)requestObject
9292
{
93-
if ([requestObject respondsToSelector:@selector(transformedValue:)]) {
93+
if ([requestObject respondsToSelector:@selector(transformValue:)]) {
9494
id transformedValue = [requestObject transformValue:value];
9595
if (transformedValue != value) {
9696
return transformedValue;

STNetTaskQueueTest/STNetTaskQueueTest.xcodeproj/project.pbxproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
0A054A7A1C3F758A00534A9A /* STTestPackerNetTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A054A791C3F758A00534A9A /* STTestPackerNetTask.m */; };
1011
76586ED01B6CC698007D29E9 /* STTestMaxConcurrentTasksCountNetTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 76586ECF1B6CC698007D29E9 /* STTestMaxConcurrentTasksCountNetTask.m */; };
1112
765FF89B1B5B565E00DE637E /* STTestGetNetTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 765FF89A1B5B565E00DE637E /* STTestGetNetTask.m */; };
1213
765FF89F1B5B763000DE637E /* STTestPostNetTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 765FF89E1B5B763000DE637E /* STTestPostNetTask.m */; };
@@ -35,6 +36,8 @@
3536
/* End PBXContainerItemProxy section */
3637

3738
/* Begin PBXFileReference section */
39+
0A054A781C3F758A00534A9A /* STTestPackerNetTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STTestPackerNetTask.h; sourceTree = "<group>"; };
40+
0A054A791C3F758A00534A9A /* STTestPackerNetTask.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STTestPackerNetTask.m; sourceTree = "<group>"; };
3841
76012C7D1C26609D0090BE94 /* STNetTaskQueue.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = STNetTaskQueue.xcodeproj; path = ../STNetTaskQueue.xcodeproj; sourceTree = "<group>"; };
3942
76586ECE1B6CC698007D29E9 /* STTestMaxConcurrentTasksCountNetTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STTestMaxConcurrentTasksCountNetTask.h; sourceTree = "<group>"; };
4043
76586ECF1B6CC698007D29E9 /* STTestMaxConcurrentTasksCountNetTask.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STTestMaxConcurrentTasksCountNetTask.m; sourceTree = "<group>"; };
@@ -99,6 +102,8 @@
99102
765FF8B31B5B854A00DE637E /* STTestDeleteNetTask.m */,
100103
76586ECE1B6CC698007D29E9 /* STTestMaxConcurrentTasksCountNetTask.h */,
101104
76586ECF1B6CC698007D29E9 /* STTestMaxConcurrentTasksCountNetTask.m */,
105+
0A054A781C3F758A00534A9A /* STTestPackerNetTask.h */,
106+
0A054A791C3F758A00534A9A /* STTestPackerNetTask.m */,
102107
);
103108
name = HTTP;
104109
sourceTree = "<group>";
@@ -220,6 +225,7 @@
220225
isa = PBXSourcesBuildPhase;
221226
buildActionMask = 2147483647;
222227
files = (
228+
0A054A7A1C3F758A00534A9A /* STTestPackerNetTask.m in Sources */,
223229
765FF8B41B5B854A00DE637E /* STTestDeleteNetTask.m in Sources */,
224230
7665028E1B554C9600B4F63D /* STNetTaskQueueTestHTTP.m in Sources */,
225231
765FF8A21B5B7B3100DE637E /* STTestPutNetTask.m in Sources */,

STNetTaskQueueTest/STNetTaskQueueTest/STNetTaskQueueTestHTTP.m

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#import "STTestPatchNetTask.h"
1616
#import "STTestDeleteNetTask.h"
1717
#import "STTestMaxConcurrentTasksCountNetTask.h"
18+
#import "STTestPackerNetTask.h"
1819

1920
@interface STNetTaskQueueTestHTTP : XCTestCase <STNetTaskDelegate>
2021

@@ -211,6 +212,41 @@ - (void)testSubscriptionBlock
211212
[self waitForExpectationsWithTimeout:10 handler:nil];
212213
}
213214

215+
- (void)testPackerTask
216+
{
217+
[self setUpNetTaskQueueWithBaseURLString:@"http://jsonplaceholder.typicode.com"];
218+
219+
_expectation = [self expectationWithDescription:@"testPackerTask"];
220+
221+
STTestPackerNetTask *testPackerTask = [STTestPackerNetTask new];
222+
testPackerTask.string = @"String Value";
223+
testPackerTask.date = [NSDate new];
224+
testPackerTask.dictionary = @{ @"dictionaryKey1": @"dictionaryValue1",
225+
@"dictionaryKey2": @"dictionaryValue2",
226+
@"dictionaryKey3": @"dictionaryValue3" };
227+
testPackerTask.array = @[ @"arrayValue1", @"arrayValue2", @"arrayValue3" ];
228+
[[STNetTaskQueue sharedQueue] addTask:testPackerTask];
229+
230+
[testPackerTask subscribeState:STNetTaskStateFinished usingBlock:^{
231+
if (testPackerTask.error) {
232+
XCTFail(@"%@ failed", _expectation.description);
233+
return;
234+
}
235+
236+
if ([testPackerTask.post[@"string"] isEqualToString:testPackerTask.string] &&
237+
[testPackerTask.post[@"date"] isEqual:@([testPackerTask.date timeIntervalSince1970])] &&
238+
[testPackerTask.post[@"dictionary"][@"dictionary_key1"] isEqualToString:testPackerTask.dictionary[@"dictionaryKey1"]] &&
239+
[testPackerTask.post[@"array"] isEqualToString:[testPackerTask.array componentsJoinedByString:@","]]) {
240+
[_expectation fulfill];
241+
}
242+
else {
243+
XCTFail(@"%@ failed", _expectation.description);
244+
}
245+
}];
246+
247+
[self waitForExpectationsWithTimeout:10 handler:nil];
248+
}
249+
214250
- (void)netTaskDidEnd:(STNetTask *)task
215251
{
216252
if (!_expectation) {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
//
2+
// STTestPackerNetTask.h
3+
// STNetTaskQueueTest
4+
//
5+
// Created by Kevin Lin on 8/1/16.
6+
//
7+
//
8+
9+
#import <STNetTaskQueue/STNetTaskQueue.h>
10+
11+
@interface STTestPackerNetTask : STHTTPNetTask
12+
13+
@property (nonatomic, strong) NSString *string;
14+
@property (nonatomic, strong) NSDate *date;
15+
@property (nonatomic, strong) NSDictionary *dictionary;
16+
@property (nonatomic, strong) NSArray *array;
17+
@property (nonatomic, strong, readonly) NSDictionary *post;
18+
19+
@end
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
//
2+
// STTestPackerNetTask.m
3+
// STNetTaskQueueTest
4+
//
5+
// Created by Kevin Lin on 8/1/16.
6+
//
7+
//
8+
9+
#import "STTestPackerNetTask.h"
10+
11+
@implementation STTestPackerNetTask
12+
13+
- (STHTTPNetTaskMethod)method
14+
{
15+
return STHTTPNetTaskPost;
16+
}
17+
18+
- (STHTTPNetTaskRequestType)requestType
19+
{
20+
return STHTTPNetTaskRequestJSON;
21+
}
22+
23+
- (NSString *)uri
24+
{
25+
return @"posts";
26+
}
27+
28+
- (id)transformValue:(id)value
29+
{
30+
if ([value isKindOfClass:[NSArray class]]) {
31+
return [value componentsJoinedByString:@","];
32+
}
33+
if ([value isKindOfClass:[NSDate class]]) {
34+
return @([value timeIntervalSince1970]);
35+
}
36+
return value;
37+
}
38+
39+
- (void)didResponseDictionary:(NSDictionary *)dictionary
40+
{
41+
_post = dictionary;
42+
}
43+
44+
@end

0 commit comments

Comments
 (0)