forked from eatvio/eatvio_app
82 lines
2.8 KiB
Dart
82 lines
2.8 KiB
Dart
import 'package:eatvio_app/features/feed/models/feed_blog_post_model.dart';
|
|
import 'package:eatvio_app/features/feed/models/post_feed_mapper.dart';
|
|
import 'package:eatvio_app/features/feed/models/post_feed_pagination_model.dart';
|
|
|
|
import 'fixture_reader.dart';
|
|
|
|
class FeedFixtures {
|
|
FeedFixtures._();
|
|
|
|
static Map<String, dynamic> postFeedResponseJson() {
|
|
return FixtureReader.readAsMap('feed/post_feed_response.json');
|
|
}
|
|
|
|
static Map<String, dynamic> postFeedNextPageResponseJson() {
|
|
return FixtureReader.readAsMap('feed/post_feed_next_page_response.json');
|
|
}
|
|
|
|
static Map<String, dynamic> postFeedEmptyResponseJson() {
|
|
return FixtureReader.readAsMap('feed/post_feed_empty_response.json');
|
|
}
|
|
|
|
static Map<String, dynamic> feedBlogPostResponseJson() {
|
|
return FixtureReader.readAsMap('feed/feed_blog_post_response.json');
|
|
}
|
|
|
|
static Map<String, dynamic> feedBlogPostGalleryResponseJson() {
|
|
return FixtureReader.readAsMap('feed/feed_blog_post_gallery_response.json');
|
|
}
|
|
|
|
static Map<String, dynamic> feedBlogPostVideoOnlyResponseJson() {
|
|
return FixtureReader.readAsMap('feed/feed_blog_post_video_only_response.json');
|
|
}
|
|
|
|
static Map<String, dynamic> feedBlogPostGalleryAndVideoResponseJson() {
|
|
return FixtureReader.readAsMap('feed/feed_blog_post_gallery_and_video_response.json');
|
|
}
|
|
|
|
static PostFeedPaginationModel postFeedPaginationModel() {
|
|
return PostFeedPaginationModel.fromJson(postFeedResponseJson());
|
|
}
|
|
|
|
static PostFeedPaginationModel postFeedNextPagePaginationModel() {
|
|
return PostFeedPaginationModel.fromJson(postFeedNextPageResponseJson());
|
|
}
|
|
|
|
static PostFeedPaginationModel postFeedEmptyPaginationModel() {
|
|
return PostFeedPaginationModel.fromJson(postFeedEmptyResponseJson());
|
|
}
|
|
|
|
static PostFeedItemModel postFeedItem({int index = 0}) {
|
|
return postFeedPaginationModel().data[index];
|
|
}
|
|
|
|
static List<FeedBlogPostModel> mappedFeedPosts({int? currentUserId}) {
|
|
return postFeedPaginationModel().data
|
|
.map((item) => PostFeedMapper.fromPostFeedItem(item, currentUserId: currentUserId))
|
|
.toList();
|
|
}
|
|
|
|
static FeedBlogPostModel feedBlogPostModel() {
|
|
return FeedBlogPostModel.fromJson(feedBlogPostResponseJson());
|
|
}
|
|
|
|
static FeedBlogPostModel feedBlogPostWithGallery() {
|
|
return FeedBlogPostModel.fromJson(feedBlogPostGalleryResponseJson());
|
|
}
|
|
|
|
static FeedBlogPostModel feedBlogPostVideoOnly() {
|
|
return FeedBlogPostModel.fromJson(feedBlogPostVideoOnlyResponseJson());
|
|
}
|
|
|
|
static FeedBlogPostModel feedBlogPostGalleryAndVideo() {
|
|
return FeedBlogPostModel.fromJson(feedBlogPostGalleryAndVideoResponseJson());
|
|
}
|
|
|
|
static List<FeedBlogPostModel> blogPostsByAuthor() {
|
|
return FixtureReader.readAsList('profile/blog_posts_by_author_response.json')
|
|
.map((item) => FeedBlogPostModel.fromJson(item as Map<String, dynamic>))
|
|
.toList();
|
|
}
|
|
}
|