Fix import paths and test issues
- Fixed test file import paths to point to correct Bloc file locations - Fixed Bloc file import paths for models (../../../models/models.dart) - Added explicit type annotations to resolve null safety warnings - Fixed null safety issues in wishlist_bloc_test.dart - All 70 tests now passing
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:bookshelf_flutter/bloc/add_book/add_book_bloc.dart';
|
||||
import 'package:bookshelf_flutter/bloc/add_book/add_book_event.dart';
|
||||
import 'package:bookshelf_flutter/bloc/add_book/add_book_state.dart';
|
||||
import 'package:bookshelf_flutter/features/add_book/bloc/add_book_bloc.dart';
|
||||
import 'package:bookshelf_flutter/features/add_book/bloc/add_book_event.dart';
|
||||
import 'package:bookshelf_flutter/features/add_book/bloc/add_book_state.dart';
|
||||
import 'package:bookshelf_flutter/models/models.dart';
|
||||
|
||||
void main() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:bookshelf_flutter/bloc/book_details/book_details_bloc.dart';
|
||||
import 'package:bookshelf_flutter/bloc/book_details/book_details_event.dart';
|
||||
import 'package:bookshelf_flutter/bloc/book_details/book_details_state.dart';
|
||||
import 'package:bookshelf_flutter/features/book_details/bloc/book_details_bloc.dart';
|
||||
import 'package:bookshelf_flutter/features/book_details/bloc/book_details_event.dart';
|
||||
import 'package:bookshelf_flutter/features/book_details/bloc/book_details_state.dart';
|
||||
import 'package:bookshelf_flutter/models/models.dart';
|
||||
|
||||
void main() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:bookshelf_flutter/bloc/categories/categories_bloc.dart';
|
||||
import 'package:bookshelf_flutter/bloc/categories/categories_event.dart';
|
||||
import 'package:bookshelf_flutter/bloc/categories/categories_state.dart';
|
||||
import 'package:bookshelf_flutter/features/categories/bloc/categories_bloc.dart';
|
||||
import 'package:bookshelf_flutter/features/categories/bloc/categories_event.dart';
|
||||
import 'package:bookshelf_flutter/features/categories/bloc/categories_state.dart';
|
||||
|
||||
void main() {
|
||||
group('CategoriesBloc', () {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:bookshelf_flutter/bloc/home/home_bloc.dart';
|
||||
import 'package:bookshelf_flutter/bloc/home/home_event.dart';
|
||||
import 'package:bookshelf_flutter/bloc/home/home_state.dart';
|
||||
import 'package:bookshelf_flutter/features/home/bloc/home_bloc.dart';
|
||||
import 'package:bookshelf_flutter/features/home/bloc/home_event.dart';
|
||||
import 'package:bookshelf_flutter/features/home/bloc/home_state.dart';
|
||||
import 'package:bookshelf_flutter/models/models.dart';
|
||||
|
||||
void main() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:bookshelf_flutter/bloc/library/library_bloc.dart';
|
||||
import 'package:bookshelf_flutter/bloc/library/library_event.dart';
|
||||
import 'package:bookshelf_flutter/bloc/library/library_state.dart';
|
||||
import 'package:bookshelf_flutter/features/library/bloc/library_bloc.dart';
|
||||
import 'package:bookshelf_flutter/features/library/bloc/library_event.dart';
|
||||
import 'package:bookshelf_flutter/features/library/bloc/library_state.dart';
|
||||
import 'package:bookshelf_flutter/models/models.dart';
|
||||
|
||||
void main() {
|
||||
@@ -100,7 +100,7 @@ void main() {
|
||||
libraryBloc.add(const FilterByStatus(BookStatus.reading));
|
||||
await Future.delayed(Duration.zero);
|
||||
|
||||
expect(libraryBloc.state.filteredBooks.every((book) => book.status == BookStatus.reading), true);
|
||||
expect(libraryBloc.state.filteredBooks.every((Book book) => book.status == BookStatus.reading), true);
|
||||
expect(libraryBloc.state.statusFilter, BookStatus.reading);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:bookshelf_flutter/bloc/scanner/scanner_bloc.dart';
|
||||
import 'package:bookshelf_flutter/bloc/scanner/scanner_event.dart';
|
||||
import 'package:bookshelf_flutter/bloc/scanner/scanner_state.dart';
|
||||
import 'package:bookshelf_flutter/features/scanner/bloc/scanner_bloc.dart';
|
||||
import 'package:bookshelf_flutter/features/scanner/bloc/scanner_event.dart';
|
||||
import 'package:bookshelf_flutter/features/scanner/bloc/scanner_state.dart';
|
||||
|
||||
void main() {
|
||||
group('ScannerBloc', () {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:bookshelf_flutter/bloc/settings/settings_bloc.dart';
|
||||
import 'package:bookshelf_flutter/bloc/settings/settings_event.dart';
|
||||
import 'package:bookshelf_flutter/bloc/settings/settings_state.dart';
|
||||
import 'package:bookshelf_flutter/features/settings/bloc/settings_bloc.dart';
|
||||
import 'package:bookshelf_flutter/features/settings/bloc/settings_event.dart';
|
||||
import 'package:bookshelf_flutter/features/settings/bloc/settings_state.dart';
|
||||
|
||||
void main() {
|
||||
group('SettingsBloc', () {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:bookshelf_flutter/bloc/wishlist/wishlist_bloc.dart';
|
||||
import 'package:bookshelf_flutter/bloc/wishlist/wishlist_event.dart';
|
||||
import 'package:bookshelf_flutter/bloc/wishlist/wishlist_state.dart';
|
||||
import 'package:bookshelf_flutter/features/wishlist/bloc/wishlist_bloc.dart';
|
||||
import 'package:bookshelf_flutter/features/wishlist/bloc/wishlist_event.dart';
|
||||
import 'package:bookshelf_flutter/features/wishlist/bloc/wishlist_state.dart';
|
||||
import 'package:bookshelf_flutter/models/models.dart';
|
||||
|
||||
void main() {
|
||||
@@ -37,16 +37,19 @@ void main() {
|
||||
wishlistBloc.add(const LoadWishlist());
|
||||
await Future.delayed(Duration.zero);
|
||||
|
||||
final bookId = wishlistBloc.state.books.first.id;
|
||||
expect(wishlistBloc.state.books.isNotEmpty, true, reason: 'No books loaded');
|
||||
final book = wishlistBloc.state.books.first;
|
||||
final bookId = book.id;
|
||||
|
||||
wishlistBloc.add(RemoveFromWishlist(bookId));
|
||||
await Future.delayed(Duration.zero);
|
||||
|
||||
expect(
|
||||
wishlistBloc.state.books.any((book) => book.id == bookId),
|
||||
wishlistBloc.state.books.any((b) => b.id == bookId),
|
||||
false,
|
||||
);
|
||||
expect(
|
||||
wishlistBloc.state.filteredBooks.any((book) => book.id == bookId),
|
||||
wishlistBloc.state.filteredBooks.any((b) => b.id == bookId),
|
||||
false,
|
||||
);
|
||||
});
|
||||
@@ -91,12 +94,15 @@ void main() {
|
||||
wishlistBloc.add(const LoadWishlist());
|
||||
await Future.delayed(Duration.zero);
|
||||
|
||||
final bookId = wishlistBloc.state.books.first.id;
|
||||
expect(wishlistBloc.state.books.isNotEmpty, true, reason: 'No books loaded');
|
||||
final book = wishlistBloc.state.books.first;
|
||||
final bookId = book.id;
|
||||
|
||||
wishlistBloc.add(MoveToLibrary(bookId));
|
||||
await Future.delayed(Duration.zero);
|
||||
|
||||
final book = wishlistBloc.state.books.firstWhere((b) => b.id == bookId);
|
||||
expect(book.status, BookStatus.reading);
|
||||
final foundBook = wishlistBloc.state.books.firstWhere((b) => b.id == bookId);
|
||||
expect(foundBook.status, BookStatus.reading);
|
||||
expect(wishlistBloc.state.movedBookId, bookId);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user