Skip to content

Instantly share code, notes, and snippets.

View newajthevillager's full-sized avatar
Fluttering

Newaj Kabir newajthevillager

Fluttering
View GitHub Profile
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>
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});
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';
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]
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) {
class _HomePageState extends State<HomePage> {
ArticleBloc articleBloc;
@override
void initState() {
super.initState();
articleBloc = BlocProvider.of<ArticleBloc>(context);
articleBloc.add(FetchArticlesEvent());
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Builder(
builder: (context) {
return Material(
child: Scaffold(
appBar: AppBar(
title: Text("Cricket"),
actions: <Widget>[
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Builder(
builder: (context) {
return Material(
child: Scaffold(
...
body: Container(
child: BlocBuilder<ArticleBloc, ArticleState>(
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(),
class ArticleBloc extends Bloc<ArticleEvent, ArticleState> {
ArticleRepository repository;
ArticleBloc({@required this.repository});
@override
// TODO: implement initialState
ArticleState get initialState => ArticleInitialState();