This test keeps failing
<code> ProviderContainer createContainer(
{ProviderContainer? parent,
List<Override> overrides = const [],
List<ProviderObserver>? observers = const []}) {
final container = ProviderContainer(
parent: parent, overrides: overrides, observers: observers);
addTearDown(() => container);
return container;
}
@GenerateNiceMocks([MockSpec<AuthRepo>()])
void main() {
WidgetsFlutterBinding.ensureInitialized();
// TestWidgetsFlutterBinding.ensureInitialized();
late MockAuthRepo mockAuthRepo;
setUp(() {
mockAuthRepo = MockAuthRepo();
});
test(("test initial state"), () {
final loginNotifier = createContainer();
expect(loginNotifier.read(loginProvider).status, Status.initial);
});
test(("test successful login"), () async {
final container = createContainer(overrides: [
loginProvider.overrideWith((_) {
return LoginNotifier(authService: mockAuthRepo, ref: _);
})
]);
when(mockAuthRepo.login(any)).thenAnswer((_) async {
return {
"token": "testtoken",
"data": {
"completedProfile": 30,
"user": {"id": "123456"}
}
};
});
await container.read(loginProvider.notifier).login(AuthRequest());
await Future.delayed(Duration(seconds: 3), () {
expectLater(container.read(loginProvider).status, Status.loading);
});
});
}
</code>
<code> ProviderContainer createContainer(
{ProviderContainer? parent,
List<Override> overrides = const [],
List<ProviderObserver>? observers = const []}) {
final container = ProviderContainer(
parent: parent, overrides: overrides, observers: observers);
addTearDown(() => container);
return container;
}
@GenerateNiceMocks([MockSpec<AuthRepo>()])
void main() {
WidgetsFlutterBinding.ensureInitialized();
// TestWidgetsFlutterBinding.ensureInitialized();
late MockAuthRepo mockAuthRepo;
setUp(() {
mockAuthRepo = MockAuthRepo();
});
test(("test initial state"), () {
final loginNotifier = createContainer();
expect(loginNotifier.read(loginProvider).status, Status.initial);
});
test(("test successful login"), () async {
final container = createContainer(overrides: [
loginProvider.overrideWith((_) {
return LoginNotifier(authService: mockAuthRepo, ref: _);
})
]);
when(mockAuthRepo.login(any)).thenAnswer((_) async {
return {
"token": "testtoken",
"data": {
"completedProfile": 30,
"user": {"id": "123456"}
}
};
});
await container.read(loginProvider.notifier).login(AuthRequest());
await Future.delayed(Duration(seconds: 3), () {
expectLater(container.read(loginProvider).status, Status.loading);
});
});
}
</code>
ProviderContainer createContainer(
{ProviderContainer? parent,
List<Override> overrides = const [],
List<ProviderObserver>? observers = const []}) {
final container = ProviderContainer(
parent: parent, overrides: overrides, observers: observers);
addTearDown(() => container);
return container;
}
@GenerateNiceMocks([MockSpec<AuthRepo>()])
void main() {
WidgetsFlutterBinding.ensureInitialized();
// TestWidgetsFlutterBinding.ensureInitialized();
late MockAuthRepo mockAuthRepo;
setUp(() {
mockAuthRepo = MockAuthRepo();
});
test(("test initial state"), () {
final loginNotifier = createContainer();
expect(loginNotifier.read(loginProvider).status, Status.initial);
});
test(("test successful login"), () async {
final container = createContainer(overrides: [
loginProvider.overrideWith((_) {
return LoginNotifier(authService: mockAuthRepo, ref: _);
})
]);
when(mockAuthRepo.login(any)).thenAnswer((_) async {
return {
"token": "testtoken",
"data": {
"completedProfile": 30,
"user": {"id": "123456"}
}
};
});
await container.read(loginProvider.notifier).login(AuthRequest());
await Future.delayed(Duration(seconds: 3), () {
expectLater(container.read(loginProvider).status, Status.loading);
});
});
}
with the error
Expected: Status:<Status.loading>
Actual: Status:<Status.initial>
i have tried moving the call to the provider call up and down. removed await, added await, increased the time of the Future.delayed all of these did not work.