@@ -199,7 +199,7 @@ class ConfidenceProviderTest: XCTestCase {
199199 }
200200 }
201201
202- func testProviderThrowsParseErrorOnObjectEval ( ) async throws {
202+ func testProviderTypeMismatch ( ) async throws {
203203 let context = MutableContext ( targetingKey: " t " )
204204 let storage = StorageMock ( )
205205
@@ -227,47 +227,11 @@ class ConfidenceProviderTest: XCTestCase {
227227 XCTAssertEqual ( specificError. errorCode ( ) , ErrorCode . typeMismatch)
228228 XCTAssertEqual ( specificError. description, " Type mismatch " )
229229 } else {
230- XCTFail ( " expected a flag not found error " )
230+ XCTFail ( " expected a Type mismatch error " )
231231 }
232232 }
233233 }
234234
235- func testProviderObjectEval( ) async throws {
236- let context = MutableContext ( targetingKey: " t " )
237- let storage = StorageMock ( )
238-
239- let resolvedValue = createResolvedValue (
240- variant: " variant1 " ,
241- structure: [ " int " : . init( integer: 42 ) ] ,
242- flag: " flagName "
243- )
244- let client = createFakeClient ( resolvedValues: [ resolvedValue] )
245-
246- let confidence = Confidence . Builder ( clientSecret: " test " )
247- . withContext ( initialContext: [ " targeting_key " : . init( string: " t " ) ] )
248- . withFlagResolverClient ( flagResolver: client)
249- . withStorage ( storage: storage)
250- . build ( )
251-
252- let cancellable = await setupProviderAndWaitForReady ( confidence: confidence)
253- cancellable. cancel ( )
254-
255- let provider = ConfidenceFeatureProvider ( confidence: confidence, initializationStrategy: . fetchAndActivate)
256- let evaluation = try provider. getObjectEvaluation (
257- key: " flagName " ,
258- defaultValue: Value . structure ( [ " int " : . integer( 3 ) ] ) ,
259- context: context)
260-
261- guard case let . structure( resultMap) = evaluation. value else {
262- XCTFail ( " Expected structure value " )
263- return
264- }
265-
266- XCTAssertEqual ( resultMap [ " int " ] , . integer( 42 ) )
267- XCTAssertEqual ( evaluation. variant, " variant1 " )
268- XCTAssertEqual ( evaluation. reason, " RESOLVE_REASON_MATCH " )
269- }
270-
271235 func testProviderResolveStruct( ) async throws {
272236 let context = MutableContext ( targetingKey: " user2 " )
273237 let storage = StorageMock ( )
@@ -452,15 +416,14 @@ class ConfidenceProviderTest: XCTestCase {
452416 XCTAssertEqual ( evaluation. reason, " RESOLVE_REASON_MATCH " )
453417 }
454418
455- func testProviderResolveStructHeterogenousExtraValueInFlag ( ) async throws {
419+ func testProviderResolveStructNullFields ( ) async throws {
456420 let context = MutableContext ( targetingKey: " user2 " )
457421 let storage = StorageMock ( )
458422
459423 let resolvedValue = createResolvedValue (
460424 structure: [
461425 " width " : . init( integer: 200 ) ,
462- " color " : . init( string: " yellow " ) ,
463- " error " : . init( string: " Unknown " )
426+ " color " : . init( null: ( ) )
464427 ]
465428 )
466429 let client = createFakeClient ( resolvedValues: [ resolvedValue] )
@@ -486,13 +449,12 @@ class ConfidenceProviderTest: XCTestCase {
486449 }
487450
488451 XCTAssertEqual ( resultMap [ " width " ] , . integer( 200 ) )
489- XCTAssertEqual ( resultMap [ " color " ] , . string( " yellow " ) )
490- XCTAssertNil ( resultMap [ " error " ] )
452+ XCTAssertEqual ( resultMap [ " color " ] , . string( " black " ) )
491453 XCTAssertEqual ( evaluation. variant, " control " )
492454 XCTAssertEqual ( evaluation. reason, " RESOLVE_REASON_MATCH " )
493455 }
494456
495- func testProviderResolveStructHeterogenousExtraValueInDefaultValue ( ) async throws {
457+ func testProviderResolveStructExtraDefaultValue ( ) async throws {
496458 let context = MutableContext ( targetingKey: " user2 " )
497459 let storage = StorageMock ( )
498460
@@ -655,7 +617,6 @@ class ConfidenceProviderTest: XCTestCase {
655617 XCTAssertEqual ( nestedStruct [ " nestedString " ] , . string( " nested value " ) )
656618 XCTAssertEqual ( nestedStruct [ " nestedInteger " ] , . integer( 100 ) )
657619 XCTAssertEqual ( nestedStruct [ " nestedBoolean " ] , . boolean( false ) )
658-
659620 XCTAssertEqual ( evaluation. variant, " control " )
660621 XCTAssertEqual ( evaluation. reason, " RESOLVE_REASON_MATCH " )
661622 XCTAssertNil ( evaluation. errorCode)
0 commit comments