diff --git a/test/blocs/bloc_event_test.dart b/test/blocs/bloc_event_test.dart new file mode 100644 index 0000000..0c39e85 --- /dev/null +++ b/test/blocs/bloc_event_test.dart @@ -0,0 +1,37 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:goodwork/blocs/auth/auth_bloc.dart'; +import 'package:goodwork/blocs/auth/auth_state.dart'; +import 'package:goodwork/repositories/auth_repository.dart'; +import 'package:goodwork/blocs/auth/auth_event.dart'; + +void main() { + final AuthRepository authRepository = AuthRepository(); + final AuthBloc authBloc = AuthBloc(authRepository); + + test('Initial state', () { + expect(authBloc.initialState, InitialAuthState()); + }); + + test('BaseUrl Loaded', () { + final List expectedResponse = [ + InitialAuthState(), + const BaseUrlSet(urlSet: true) + ]; + + expectLater(authBloc.state, emitsInOrder(expectedResponse)); + + authBloc.dispatch(BaseUrlLoaded()); + }); + + test('Access Token Loaded And User Not Found', () { + final List expectedResponse = [ + InitialAuthState(), + UserLoading(), + UserNotFound() + ]; + + expectLater(authBloc.state, emitsInOrder(expectedResponse)); + + authBloc.dispatch(AccessTokenLoaded()); + }); +}