Как написать тестовые случаи для пользовательской сортировки трубы в угловых 4? - PullRequest
0 голосов
/ 05 ноября 2018

import { Pipe, PipeTransform } from "@angular/core";
import { Opportunity } from "../models/Opportunity";

@Pipe({
    name: "orderBy",
    pure: false
})

export class OrderByPipe implements PipeTransform {
    /**
     * Method to sort data and return sorted data
     * 
     * @param records 
     * @param args 
     */
    transform(records: Array<any>, args?: any): any {
        return records.sort(function (a, b) {
            if (a[args.property] < b[args.property]) {
                return -1 * args.order;
            }
            else if (a[args.property] > b[args.property]) {
                return 1 * args.order;
            }
            else {
                return 0;
            }
        });
    }
}

В моем проекте, где мне нужно реализовать сортировку для нескольких столбцов, поэтому я хочу написать тестовые примеры для вышеупомянутой пользовательской трубы сортировки в угловой версии 4?

1 Ответ

0 голосов
/ 06 ноября 2018

Я просто создаю объект моей трубы в моем описании:

const pipe = new OrderByPipe()

И затем выполните обычные тестовые примеры, такие как: expect(pipe.transform([5,1,6,7]).toEqual([1,5,6,7]), тестирование угловых случаев и т. Д.

...