Files
eatvio_app/test/fixtures/feed_fixtures.dart

52 lines
1.7 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 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());
}
}