Skip to content

Commit 1f0a03a

Browse files
committed
Add UnitTests for setLanguage
* Add testSetLanguageOnPlayerCreate to test setLanguage implementation when user is initializing OneSignal implementation * Add testSetLanguageRequest to test setLanguage after user has initialized OneSignal implementation * Add testSetLanguage_afterOnSession to test setLanguage method after a session has finished
1 parent 52ca73a commit 1f0a03a

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
//
2+
// LanguageTest.m
3+
// OneSignal
4+
//
5+
// Created by Tanay Nigam on 6/24/21.
6+
// Copyright © 2021 Hiptic. All rights reserved.
7+
//
8+
9+
#import <XCTest/XCTest.h>
10+
#import "UnitTestCommonMethods.h"
11+
#import "OneSignalUserDefaults.h"
12+
#import "OneSignal.h"
13+
#import "OneSignalClientOverrider.h"
14+
#import "OneSignalHelper.h"
15+
#import "NSDateOverrider.h"
16+
17+
@interface LanguageTest : XCTestCase
18+
19+
@end
20+
21+
@implementation LanguageTest
22+
23+
- (void)setUp {
24+
[super setUp];
25+
[UnitTestCommonMethods beforeEachTest:self];
26+
}
27+
28+
- (void)tearDown {
29+
[super tearDown];
30+
}
31+
32+
- (void)testSetLanguageOnPlayerCreate {
33+
[UnitTestCommonMethods initOneSignal_andThreadWait];
34+
[OneSignal setLanguage:@"fr"];
35+
[UnitTestCommonMethods runBackgroundThreads];
36+
37+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequest[@"language"], @"fr");
38+
}
39+
40+
- (void)testSetLanguageRequest {
41+
[UnitTestCommonMethods initOneSignal_andThreadWait];
42+
[UnitTestCommonMethods runBackgroundThreads];
43+
[OneSignal setLanguage:@"fr"];
44+
[UnitTestCommonMethods runBackgroundThreads];
45+
46+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequest[@"language"], @"fr");
47+
}
48+
49+
-(void)testSetLanguage_afterOnSession {
50+
// 2. Open app
51+
[UnitTestCommonMethods initOneSignal_andThreadWait];
52+
[UnitTestCommonMethods foregroundApp];
53+
[UnitTestCommonMethods runBackgroundThreads];
54+
55+
// 3. Kill the app and wait 31 seconds
56+
[UnitTestCommonMethods backgroundApp];
57+
[UnitTestCommonMethods clearStateForAppRestart:self];
58+
[NSDateOverrider advanceSystemTimeBy:31];
59+
[UnitTestCommonMethods runBackgroundThreads];
60+
61+
// 4. Open app
62+
[UnitTestCommonMethods initOneSignal_andThreadWait];
63+
[UnitTestCommonMethods foregroundApp];
64+
[UnitTestCommonMethods runBackgroundThreads];
65+
66+
[OneSignal setLanguage:@"fr"];
67+
[UnitTestCommonMethods runBackgroundThreads];
68+
69+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequest[@"language"], @"fr");
70+
}
71+
72+
@end

0 commit comments

Comments
 (0)