Files
eatvio_app/test/fixtures/feed_fixtures.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();
}
}