| resolveReport(long, long, String, String, String) |   | 76% |   | 50% | 9 | 11 | 9 | 39 | 0 | 1 |
| report(long, long, String, String) |   | 70% |   | 50% | 7 | 10 | 10 | 30 | 0 | 1 |
| reply(long, long, String, String) |   | 72% |   | 50% | 7 | 11 | 7 | 26 | 0 | 1 |
| createReview(ReviewModels.CreateReviewCommand) |   | 90% |   | 66% | 8 | 13 | 3 | 38 | 0 | 1 |
| validateOrderCompleted(ReviewModels.OrderCompletedEvent) |   | 88% |   | 50% | 25 | 27 | 3 | 31 | 0 | 1 |
| requireText(String, int) |   | 58% |   | 50% | 3 | 4 | 2 | 6 | 0 | 1 |
| hash(Object[]) |   | 80% |   | 75% | 1 | 3 | 2 | 8 | 0 | 1 |
| listPublished(long, Long, long, long) |   | 82% | | n/a | 0 | 1 | 2 | 9 | 0 | 1 |
| listReports(String, long, long) |   | 88% |   | 50% | 2 | 3 | 1 | 9 | 0 | 1 |
| requirePublishedReviewForUpdate(long) |   | 79% |   | 75% | 1 | 3 | 1 | 6 | 0 | 1 |
| requireReviewView(long, Long) |   | 66% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| requireActiveProduct(long) |   | 66% |   | 50% | 2 | 3 | 1 | 3 | 0 | 1 |
| normalizeOptional(String) |   | 71% |   | 50% | 2 | 3 | 1 | 4 | 0 | 1 |
| invalidText(String, int) |   | 84% |   | 50% | 3 | 4 | 0 | 1 | 0 | 1 |
| acceptOrderCompleted(ReviewModels.OrderCompletedEvent, String) |  | 100% |  | 100% | 0 | 4 | 0 | 13 | 0 | 1 |
| like(long, long) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| unlike(long, long) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| sameModerationRequest(ProductReviewRepository.ModerationAuditState, long, long, String) |  | 100% |   | 66% | 2 | 4 | 0 | 5 | 0 | 1 |
| sameReviewRequest(ProductReviewRepository.ReviewState, String, long) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| listEligibilities(long, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| summary(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| ProductReviewService(ProductReviewRepository) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |