@@ -177,6 +177,51 @@ class RequestCreatorTests: XCTestCase {
177177 XCTAssertEqual ( args [ JsonKey . InApp. count] , inAppMessageRequestCount. stringValue)
178178 XCTAssertEqual ( args [ JsonKey . systemVersion] , UIDevice . current. systemVersion)
179179 }
180+
181+ func testGetEmbeddedMessagesRequestFailure( ) {
182+ let auth = Auth ( userId: nil , email: nil , authToken: nil , userIdUnknownUser: nil )
183+ let requestCreator = RequestCreator ( auth: auth, deviceMetadata: deviceMetadata)
184+
185+ let failingRequest = requestCreator. createGetEmbeddedMessagesRequest ( placementIds: nil )
186+
187+ if let _ = try ? failingRequest. get ( ) {
188+ XCTFail ( " request succeeded despite userId and email being nil " )
189+ }
190+ }
191+
192+ func testGetEmbeddedMessagesRequest( ) {
193+ let request = createRequestCreator ( ) . createGetEmbeddedMessagesRequest ( placementIds: nil )
194+ let urlRequest = convertToUrlRequest ( request)
195+
196+ TestUtils . validateHeader ( urlRequest, apiKey)
197+ TestUtils . validate ( request: urlRequest, requestType: . get, apiEndPoint: Endpoint . api, path: Const . Path. getEmbeddedMessages)
198+
199+ guard case let . success( . get( getRequest) ) = request, let args = getRequest. args else {
200+ XCTFail ( " could not unwrap to a get request and its arguments " )
201+ return
202+ }
203+
204+ XCTAssertEqual ( args [ JsonKey . email] , auth. email)
205+ XCTAssertEqual ( args [ JsonKey . Embedded. packageName] , Bundle . main. appPackageName)
206+ XCTAssertEqual ( args [ JsonKey . systemVersion] , UIDevice . current. systemVersion)
207+ XCTAssertNil ( args [ JsonKey . Embedded. placementIds] )
208+ }
209+
210+ func testGetEmbeddedMessagesRequestWithPlacementIds( ) {
211+ let request = createRequestCreator ( ) . createGetEmbeddedMessagesRequest ( placementIds: [ 1 , 2 , 3 ] )
212+ let urlRequest = convertToUrlRequest ( request)
213+
214+ TestUtils . validateHeader ( urlRequest, apiKey)
215+ TestUtils . validate ( request: urlRequest, requestType: . get, apiEndPoint: Endpoint . api, path: Const . Path. getEmbeddedMessages)
216+
217+ guard case let . success( . get( getRequest) ) = request, let args = getRequest. args else {
218+ XCTFail ( " could not unwrap to a get request and its arguments " )
219+ return
220+ }
221+
222+ XCTAssertEqual ( args [ JsonKey . email] , auth. email)
223+ XCTAssertEqual ( args [ JsonKey . Embedded. placementIds] , " 1,2,3 " )
224+ }
180225
181226 func testTrackEventRequest( ) {
182227 let eventName = " dsfsdf "
0 commit comments