From 191b9b525ac0552f1177fa1d500216ca49ecfe41 Mon Sep 17 00:00:00 2001 From: Ludmila Kurochkina Date: Wed, 13 Dec 2023 01:43:35 +0200 Subject: [PATCH] Add test of getFilteredCars --- src/constants/getFilteredCars.test.js | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/constants/getFilteredCars.test.js diff --git a/src/constants/getFilteredCars.test.js b/src/constants/getFilteredCars.test.js new file mode 100644 index 0000000..0568a8e --- /dev/null +++ b/src/constants/getFilteredCars.test.js @@ -0,0 +1,29 @@ +import {getFilteredCars} from './getFilteredCars'; + +test("Passes a car successfully", () => { + const payload = [{mileage: 10, rentalPrice: "20$"}]; + const filter = {minMileage: 5, maxMileage: 15, price: 40}; + expect(getFilteredCars(payload, filter)) + .toEqual(payload); +}); + +test("Handle undefined mileage as no limit", () => { + const payload = [{mileage: 10, rentalPrice: "20$"}]; + const filter = {price: 40}; + expect(getFilteredCars(payload, filter)) + .toEqual(payload); +}); + +test("Handle null mileage as no limit", () => { + const payload = [{mileage: 10, rentalPrice: "20$"}]; + const filter = {minMileage: null, maxMileage: null, price: 40}; + expect(getFilteredCars(payload, filter)) + .toEqual(payload); +}); + +test("Divert a car with non-conforming mileage", () => { + const payload = [{mileage: 10, rentalPrice: "20$"}]; + const filter = {minMileage: 15, maxMileage: 40, price: 40}; + expect(getFilteredCars(payload, filter)) + .toEqual([]); +});