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?
Я просто создаю объект моей трубы в моем описании:
const pipe = new OrderByPipe()
И затем выполните обычные тестовые примеры, такие как: expect(pipe.transform([5,1,6,7]).toEqual([1,5,6,7]), тестирование угловых случаев и т. Д.
expect(pipe.transform([5,1,6,7]).toEqual([1,5,6,7])