Skip to content

Commit a70da73

Browse files
committed
fix test build
1 parent e13a05b commit a70da73

File tree

1 file changed

+91
-24
lines changed

1 file changed

+91
-24
lines changed

packages/auth/amplify_auth_cognito/example/integration_test/native_auth_bridge_test.dart

Lines changed: 91 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,50 @@ void main() {
5353
dependencyManager
5454
..addInstance<NativeAuthBridge>(
5555
MockNativeAuthBridge(
56-
signInWithUrl: expectAsync4((
57-
argUrl,
58-
argCallbackurlscheme,
59-
argPreferprivatesession,
60-
argBrowserpackagename,
56+
signInWithUrl: expectAsync1((
57+
argSignInOut,
6158
) async {
62-
expect(argUrl, contains(mockConfig.auth?.oauth?.domain));
63-
expect(argCallbackurlscheme, testUrlScheme);
64-
expect(argPreferprivatesession, isFalse);
65-
expect(argBrowserpackagename, browserPackage);
59+
expect(argSignInOut.url, contains(mockConfig.auth?.oauth?.domain));
60+
expect(argSignInOut.callbackurlscheme, testUrlScheme);
61+
expect(argSignInOut.preferprivatesession, isFalse);
62+
expect(argSignInOut.browserPackageName, browserPackage);
63+
return {'code': 'code', 'state': 'state'};
64+
}),
65+
),
66+
)
67+
..addInstance<Dispatcher<AuthEvent, AuthState>>(
68+
const MockDispatcher(),
69+
);
70+
await platform.signIn(options: options);
71+
});
72+
73+
asyncTest('signInWithUrl with OIDC parameters', (_) async {
74+
const options = CognitoSignInWithWebUIPluginOptions(
75+
isPreferPrivateSession: false,
76+
browserPackageName: browserPackage,
77+
nonce: 'nonce',
78+
language: 'en',
79+
loginHint: 'username',
80+
prompt: [CognitoSignInWithWebUIPrompt.login, CognitoSignInWithWebUIPrompt.consent],
81+
resource: 'myapp://'
82+
);
83+
dependencyManager
84+
..addInstance<NativeAuthBridge>(
85+
MockNativeAuthBridge(
86+
signInWithUrl: expectAsync1((
87+
argSignInOut,
88+
) async {
89+
expect(argSignInOut.url, contains(mockConfig.auth?.oauth?.domain));
90+
expect(argSignInOut.callbackurlscheme, testUrlScheme);
91+
expect(argSignInOut.preferprivatesession, isFalse);
92+
expect(argSignInOut.browserPackageName, browserPackage);
93+
expect(argSignInOut.nonce, 'nonce');
94+
expect(argSignInOut.language, 'es');
95+
expect(argSignInOut.loginHint, 'username');
96+
expect(argSignInOut.prompt, isNotNull);
97+
expect(argSignInOut.prompt?.contains(CognitoSignInWithWebUIPrompt.login.value), isTrue);
98+
expect(argSignInOut.prompt?.contains(CognitoSignInWithWebUIPrompt.consent.value), isTrue);
99+
expect(argSignInOut.resource, 'myapp://');
66100
return {'code': 'code', 'state': 'state'};
67101
}),
68102
),
@@ -81,16 +115,13 @@ void main() {
81115
dependencyManager
82116
..addInstance<NativeAuthBridge>(
83117
MockNativeAuthBridge(
84-
signOutWithUrl: expectAsync4((
85-
argUrl,
86-
argCallbackurlscheme,
87-
argPreferprivatesession,
88-
argBrowserpackagename,
118+
signOutWithUrl: expectAsync1((
119+
argSignInOut
89120
) async {
90-
expect(argUrl, contains(mockConfig.auth?.oauth?.domain));
91-
expect(argCallbackurlscheme, testUrlScheme);
92-
expect(argPreferprivatesession, isFalse);
93-
expect(argBrowserpackagename, browserPackage);
121+
expect(argSignInOut.url, contains(mockConfig.auth?.oauth?.domain));
122+
expect(argSignInOut.callbackurlscheme, testUrlScheme);
123+
expect(argSignInOut.preferprivatesession, isFalse);
124+
expect(argSignInOut.browserPackageName, browserPackage);
94125
}),
95126
),
96127
)
@@ -103,12 +134,33 @@ void main() {
103134
);
104135
}
105136

137+
class SignInOut {
138+
SignInOut(
139+
this.url,
140+
this.callbackurlscheme,
141+
this.preferprivatesession,
142+
this.browserPackageName,
143+
this.nonce,
144+
this.language,
145+
this.loginHint,
146+
this.prompt,
147+
this.resource
148+
)
149+
150+
String url = '';
151+
String callbackurlscheme = '';
152+
bool preferprivatesession = false;
153+
String? browserPackageName,
154+
String? nonce;
155+
String? language;
156+
String? loginHint;
157+
List<String>? prompt;
158+
String? resource;
159+
}
160+
106161
typedef SignInOutFn<T> =
107162
Future<T> Function(
108-
String argUrl,
109-
String argCallbackurlscheme,
110-
bool argPreferprivatesession,
111-
String? argBrowserpackagename,
163+
SignInOut signInOut
112164
);
113165

114166
class MockNativeAuthBridge extends Fake implements NativeAuthBridge {
@@ -127,12 +179,22 @@ class MockNativeAuthBridge extends Fake implements NativeAuthBridge {
127179
String argCallbackurlscheme,
128180
bool argPreferprivatesession,
129181
String? argBrowserpackagename,
182+
String? argNonce,
183+
String? argLanguage,
184+
String? argLoginHint,
185+
List<String>? argPrompt,
186+
String? argResource,
130187
) async {
131-
return _signInWithUrl?.call(
188+
return _signInWithUrl?.call(SignInOut(
132189
argUrl,
133190
argCallbackurlscheme,
134191
argPreferprivatesession,
135192
argBrowserpackagename,
193+
argNonce,
194+
argLanguage,
195+
argLoginHint,
196+
argPrompt,
197+
argResource)
136198
) ??
137199
(throw UnimplementedError());
138200
}
@@ -144,11 +206,16 @@ class MockNativeAuthBridge extends Fake implements NativeAuthBridge {
144206
bool argPreferprivatesession,
145207
String? argBrowserpackagename,
146208
) async {
147-
return _signOutWithUrl?.call(
209+
return _signOutWithUrl?.call(SignInOut(
148210
argUrl,
149211
argCallbackurlscheme,
150212
argPreferprivatesession,
151213
argBrowserpackagename,
214+
null,
215+
null,
216+
null,
217+
null,
218+
null)
152219
) ??
153220
(throw UnimplementedError());
154221
}

0 commit comments

Comments
 (0)