Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 0 additions & 27 deletions lib/src/enums/comment_status.dart

This file was deleted.

3 changes: 1 addition & 2 deletions lib/src/enums/enums.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ export 'app_text_scale_factor.dart';
export 'app_user_role.dart';
export 'banner_ad_shape.dart';
export 'comment_report_reason.dart';
export 'comment_status.dart';
export 'content_status.dart';
export 'content_type.dart';
export 'dashboard_user_role.dart';
Expand All @@ -21,10 +20,10 @@ export 'feed_item_click_behavior.dart';
export 'feed_item_density.dart';
export 'feed_item_image_style.dart';
export 'headline_report_reason.dart';
export 'moderation_status.dart';
export 'push_notification_provider.dart';
export 'push_notification_subscription_delivery_type.dart';
export 'reaction_type.dart';
export 'report_status.dart';
export 'reportable_entity.dart';
export 'sort_order.dart';
export 'source_report_reason.dart';
Expand Down
16 changes: 16 additions & 0 deletions lib/src/enums/moderation_status.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import 'package:json_annotation/json_annotation.dart';

/// {@template moderation_status}
/// Defines the moderation status of a user-submitted content, such as a
/// comment or a report.
/// {@endtemplate}
@JsonEnum()
enum ModerationStatus {
/// The item has been submitted and is awaiting moderation.
@JsonValue('pendingReview')
pendingReview,

/// The item has been reviewed and a decision has been made.
@JsonValue('resolved')
resolved,
}
19 changes: 0 additions & 19 deletions lib/src/enums/report_status.dart

This file was deleted.

8 changes: 3 additions & 5 deletions lib/src/fixtures/headline_comments.dart
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,10 @@ List<Comment> getHeadlineCommentsFixturesData({
for (var j = 0; j < 10; j++) {
final commentIndex = i * 10 + j;

// Vary the status for realism
var status = CommentStatus.approved;
// Vary the status for realism. Default to resolved.
var status = ModerationStatus.resolved;
if (commentIndex % 15 == 0) {
status = CommentStatus.pendingReview;
} else if (commentIndex % 25 == 0) {
status = CommentStatus.rejected;
status = ModerationStatus.pendingReview;
}

comments.add(
Expand Down
12 changes: 5 additions & 7 deletions lib/src/fixtures/reports.dart
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,10 @@ List<Report> getReportsFixturesData({DateTime? now}) {

for (var i = 0; i < users.length; i++) {
final user = users[i];
final headline = headlines[i];
var status = ReportStatus.submitted;
if (i % 3 == 0) {
status = ReportStatus.inReview;
} else if (i % 5 == 0) {
status = ReportStatus.resolved;
var status = ModerationStatus.pendingReview;
// Every 4th report is resolved
if (i > 0 && i % 4 == 0) {
status = ModerationStatus.resolved;
}

// Create a mix of report types
Expand All @@ -51,7 +49,7 @@ List<Report> getReportsFixturesData({DateTime? now}) {
id: reportIds[i],
reporterUserId: user.id,
entityType: ReportableEntity.headline,
entityId: headline.id,
entityId: headlines[i].id,
reason: headlineReasons[i % headlineReasons.length].name,
additionalComments: 'This headline seems misleading.',
status: status,
Expand Down
6 changes: 3 additions & 3 deletions lib/src/models/user_generated_content/comment.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class Comment extends Equatable {
const Comment({
required this.language,
required this.content,
this.status = CommentStatus.pendingReview,
this.status = ModerationStatus.pendingReview,
});

/// Creates a [Comment] from JSON data.
Expand All @@ -29,7 +29,7 @@ class Comment extends Equatable {
final String content;

/// The current moderation status of the comment.
final CommentStatus status;
final ModerationStatus status;

/// Converts this [Comment] instance to JSON data.
Map<String, dynamic> toJson() => _$CommentToJson(this);
Expand All @@ -41,7 +41,7 @@ class Comment extends Equatable {
Comment copyWith({
String? content,
Language? language,
CommentStatus? status,
ModerationStatus? status,
}) {
return Comment(
language: language ?? this.language,
Expand Down
15 changes: 6 additions & 9 deletions lib/src/models/user_generated_content/comment.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions lib/src/models/user_generated_content/report.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:core/src/enums/comment_report_reason.dart';
import 'package:core/src/enums/headline_report_reason.dart';
import 'package:core/src/enums/report_status.dart';
import 'package:core/src/enums/moderation_status.dart';
import 'package:core/src/enums/reportable_entity.dart';
import 'package:core/src/enums/source_report_reason.dart';
import 'package:core/src/utils/json_helpers.dart';
Expand Down Expand Up @@ -64,7 +64,7 @@ class Report extends Equatable {
final String reason;

/// The current moderation status of the report.
final ReportStatus status;
final ModerationStatus status;

/// Optional additional comments from the user providing more context.
final String? additionalComments;
Expand Down Expand Up @@ -96,7 +96,7 @@ class Report extends Equatable {
ReportableEntity? entityType,
String? entityId,
String? reason,
ReportStatus? status,
ModerationStatus? status,
ValueWrapper<String?>? additionalComments,
DateTime? createdAt,
}) {
Expand Down
11 changes: 5 additions & 6 deletions lib/src/models/user_generated_content/report.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 0 additions & 40 deletions test/src/enums/comment_status_test.dart

This file was deleted.

32 changes: 32 additions & 0 deletions test/src/enums/moderation_status_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import 'package:core/src/enums/moderation_status.dart';
import 'package:test/test.dart';

void main() {
group('ModerationStatus', () {
test('has correct values', () {
expect(
ModerationStatus.values,
containsAll([
ModerationStatus.pendingReview,
ModerationStatus.resolved,
]),
);
});

test('has correct string values', () {
expect(ModerationStatus.pendingReview.name, 'pendingReview');
expect(ModerationStatus.resolved.name, 'resolved');
});

test('can be created from string values', () {
expect(
ModerationStatus.values.byName('pendingReview'),
ModerationStatus.pendingReview,
);
expect(
ModerationStatus.values.byName('resolved'),
ModerationStatus.resolved,
);
});
});
}
29 changes: 0 additions & 29 deletions test/src/enums/report_status_test.dart

This file was deleted.

2 changes: 1 addition & 1 deletion test/src/models/user_generated_content/comment_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ void main() {
group('copyWith', () {
test('returns a new instance with updated fields', () {
const newContent = 'This is updated content.';
const newStatus = CommentStatus.rejected;
const newStatus = ModerationStatus.resolved;

final updatedComment = commentFixture.copyWith(
content: newContent,
Expand Down
4 changes: 2 additions & 2 deletions test/src/models/user_generated_content/report_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ void main() {
group('copyWith', () {
test('returns a new instance with updated values', () {
final updatedReport = reportFixture.copyWith(
status: ReportStatus.resolved,
status: ModerationStatus.resolved,
);
expect(updatedReport.status, ReportStatus.resolved);
expect(updatedReport.status, ModerationStatus.resolved);
expect(updatedReport, isNot(equals(reportFixture)));
});

Expand Down
Loading