@@ -36,14 +36,10 @@ void main() {
3636 testWidgets (
3737 'attempt_to_create_repository_with_existing_name' ,
3838 (tester) => tester.runAsync (() async {
39- final name = 'le repo' ;
40-
41- final repoCreationObserver = StateObserver .install <RepoCreationState >();
42-
4339 await deps.reposCubit.createRepository (
4440 location: RepoLocation (
4541 dir: await deps.session.getStoreDirs ().then ((dirs) => dirs.first),
46- name: name ,
42+ name: 'foo' ,
4743 ),
4844 setLocalSecret: randomSetLocalSecret (),
4945 localSecretMode: LocalSecretMode .randomStored,
@@ -57,22 +53,19 @@ void main() {
5753 await tester.anxiousTap (find.text ('Create repository' ));
5854 await tester.pumpAndSettle ();
5955
60- await tester.enterText (find.byKey (ValueKey ('name' )), name);
61- await repoCreationObserver.waitUntil (
62- (state) => switch (state.substate) {
63- RepoCreationPending (nameError: final nameError)
64- when nameError != null && nameError.isNotEmpty =>
65- true ,
66- _ => false ,
67- },
56+ final nameFinder = find.byKey (ValueKey ('name' ));
57+ final errorFinder = find.text (
58+ 'There is already a repository with this name' ,
6859 );
6960
70- await tester.pump ();
61+ await tester.enterText (nameFinder, 'foo' );
62+ await tester.pumpUntilFound (errorFinder);
7163
72- expect (
73- find.text ('There is already a repository with this name' ),
74- findsOne,
75- );
64+ // The error should disappear after the name is fixed.
65+ await tester.enterText (nameFinder, 'bar' );
66+ await tester.pumpAndSettle ();
67+
68+ expect (errorFinder, findsNothing);
7669 }),
7770 );
7871
0 commit comments