@@ -51,20 +51,31 @@ class DevCycleUserTest: XCTestCase {
5151 XCTAssertTrue ( user. isAnonymous!)
5252 }
5353
54- func testBuilderReturnsAnonUserIfNoUserIdAndIsAnonymousIsFalse( ) {
55- let user = try ! DevCycleUser . builder ( )
56- . isAnonymous ( false )
57- . build ( )
54+ func testBuilderReturnsAnonUserIfEmptyStringUserId( ) {
55+ let user = try ! DevCycleUser . builder ( ) . userId ( " " ) . build ( )
5856 XCTAssertNotNil ( user)
5957 XCTAssert ( UUID ( uuidString: user. userId!) != nil )
6058 XCTAssertTrue ( user. isAnonymous!)
6159 }
6260
61+ func testBuilderThrowsErrorIfNoUserIdAndIsAnonymousIsFalse( ) {
62+ XCTAssertThrowsError (
63+ try DevCycleUser . builder ( )
64+ . isAnonymous ( false )
65+ . build ( )
66+ ) { error in
67+ XCTAssertTrue ( error is UserError )
68+ if let userError = error as? UserError {
69+ XCTAssertEqual ( userError, UserError . MissingUserIdAndIsAnonymousFalse)
70+ }
71+ }
72+ }
73+
6374 func testBuilderReturnsUserIfUserIdSet( ) {
6475 let user = try ! DevCycleUser . builder ( ) . userId ( " my_user " ) . build ( )
6576 XCTAssertNotNil ( user)
6677 XCTAssert ( user. userId == " my_user " )
67- XCTAssert ( ! user. isAnonymous! )
78+ XCTAssertNil ( user. isAnonymous)
6879 }
6980
7081 func testBuilderReturnsUserIfIsAnonymousSet( ) {
@@ -74,14 +85,24 @@ class DevCycleUserTest: XCTestCase {
7485 XCTAssert ( UUID ( uuidString: user. userId!) != nil )
7586 }
7687
77- func testBuilderReturnsNilIfUserIdIsEmptyString( ) {
78- let user = try ? DevCycleUser . builder ( ) . userId ( " " ) . build ( )
79- XCTAssertNil ( user)
88+ func testBuilderWithUserIdAndIsAnonymousTrue( ) {
89+ let user = try ! DevCycleUser . builder ( )
90+ . userId ( " my_user " )
91+ . isAnonymous ( true )
92+ . build ( )
93+ XCTAssertNotNil ( user)
94+ XCTAssert ( user. userId == " my_user " )
95+ XCTAssertTrue ( user. isAnonymous!)
8096 }
8197
82- func testBuilderReturnsNilIfUserIdOnlyContainsWhitespaces( ) {
83- let user = try ? DevCycleUser . builder ( ) . userId ( " " ) . build ( )
84- XCTAssertNil ( user)
98+ func testBuilderWithUserIdAndIsAnonymousFalse( ) {
99+ let user = try ! DevCycleUser . builder ( )
100+ . userId ( " my_user " )
101+ . isAnonymous ( false )
102+ . build ( )
103+ XCTAssertNotNil ( user)
104+ XCTAssert ( user. userId == " my_user " )
105+ XCTAssertFalse ( user. isAnonymous!)
85106 }
86107
87108 func testToStringOnlyOutputsNonNilProperties( ) {
0 commit comments