This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
getRestaurants should throw NoResultFoundException!!! when there is no next page available: | |
ERROR: NoSuchMethodError: The getter 'isEmpty' was called on null. | |
Receiver: null | |
Tried calling: isEmpty | |
dart:core Object.noSuchMethod | |
test/features/restaurants/data/datasources/restaurant_remote_data_source_test.dart 109:49 main.<fn>.<fn> | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:freezed_annotation/freezed_annotation.dart'; | |
import 'package:travelfood/features/restaurants/data/models/meta_restaurants_model.dart'; | |
import 'package:travelfood/features/restaurants/data/models/restaurant_model.dart'; | |
class ResponseRestaurantsModel { | |
List<RestaurantModel> documents = []; | |
MetaRestaurantsModel meta; | |
ResponseRestaurantsModel({@required this.documents, @required this.meta}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:io'; | |
import 'package:flutter_test/flutter_test.dart'; | |
import 'package:http/http.dart' as http; | |
import 'package:mockito/mockito.dart'; | |
import 'package:travelfood/core/error/exceptions.dart'; | |
import 'package:travelfood/features/restaurants/data/datasources/restaurant_remote_data_source.dart'; | |
import 'package:travelfood/features/restaurants/data/models/meta_restaurants_model.dart'; | |
import 'package:travelfood/features/restaurants/data/models/response_reataurants_model.dart'; | |
import 'package:travelfood/features/restaurants/data/models/restaurant_model.dart'; | |
import 'package:matcher/matcher.dart'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:convert'; | |
import 'package:injectable/injectable.dart'; | |
import 'package:travelfood/core/error/exceptions.dart'; | |
import 'package:travelfood/features/restaurants/data/models/response_reataurants_model.dart'; | |
import 'package:http/http.dart' as http; | |
import 'package:travelfood/res/strings/app_strings.dart'; | |
import 'package:travelfood/res/strings/keys.dart'; | |
abstract class IRestaurantRemoteDataSource { | |
/// Calls the API endpoint with default value to get [ResponseRestaurantsModel] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
import 'package:social_network_app/ui/widgets/post_thumbnail.dart'; | |
class MyFeedPage extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
// Will use BlocBuilder here | |
return FutureBuilder( | |
future: postsRepository.fetchPosts(user), | |
builder: (context, snapshot) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class _HomePageState extends State<HomePage> { | |
ArticleBloc articleBloc; | |
@override | |
void initState() { | |
super.initState(); | |
articleBloc = BlocProvider.of<ArticleBloc>(context); | |
articleBloc.add(FetchArticlesEvent()); | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
home: Builder( | |
builder: (context) { | |
return Material( | |
child: Scaffold( | |
appBar: AppBar( | |
title: Text("Cricket"), | |
actions: <Widget>[ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
home: Builder( | |
builder: (context) { | |
return Material( | |
child: Scaffold( | |
... | |
body: Container( | |
child: BlocBuilder<ArticleBloc, ArticleState>( |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() => runApp(MyApp()); | |
class MyApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
title: 'Cricket', | |
home: BlocProvider( | |
builder: (context) => ArticleBloc(repository: ArticleRepositoryImpl()), | |
child: HomePage(), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ArticleBloc extends Bloc<ArticleEvent, ArticleState> { | |
ArticleRepository repository; | |
ArticleBloc({@required this.repository}); | |
@override | |
// TODO: implement initialState | |
ArticleState get initialState => ArticleInitialState(); |
NewerOlder