All files / src/app/extensions/rating/models/product-reviews product-reviews.mapper.ts

100% Statements 8/8
75% Branches 3/4
100% Functions 2/2
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 214x           4x   4x 4x         3x   1x        
import { Injectable } from '@angular/core';
 
import { ProductReview } from './product-review.model';
import { ProductReviews } from './product-reviews.model';
 
@Injectable({ providedIn: 'root' })
export class ProductReviewsMapper {
  static fromData(sku: string, productReviews: ProductReview[]): ProductReviews {
    if (productReviews) {
      const reviews = productReviews.map(review => ({
        ...review,
        status: review.status?.startsWith('NEW') ? 'NEW' : review.status,
      }));
 
      return { sku, reviews };
    } else {
      throw new Error(`productReviews data is required`);
    }
  }
}