const assert = require("assert"); const { parseLocationFilters, validateLocationAgainstFilters, } = require("../location-utils"); console.log("Location Utils tests"); // Test parseLocationFilters const filters = parseLocationFilters("Ontario,Manitoba"); assert.deepStrictEqual( filters, ["ontario", "manitoba"], "parseLocationFilters failed" ); console.log("PASS: parseLocationFilters works"); // Test validateLocationAgainstFilters positive let result = validateLocationAgainstFilters("Toronto, Ontario, Canada", [ "ontario", ]); assert(result.isValid, "Ontario should match Toronto, Ontario, Canada"); result = validateLocationAgainstFilters("Toronto, Ontario, Canada", [ "toronto", ]); assert(result.isValid, "Toronto should match Toronto, Ontario, Canada"); // Negative test result = validateLocationAgainstFilters("Vancouver, BC, Canada", ["ontario"]); assert(!result.isValid, "Vancouver should not match Ontario"); // More positive cases result = validateLocationAgainstFilters("Winnipeg, Manitoba, Canada", [ "manitoba", ]); assert(result.isValid, "Manitoba should match Winnipeg, Manitoba, Canada"); result = validateLocationAgainstFilters("Calgary, Alberta, Canada", [ "alberta", ]); assert(result.isValid, "Alberta should match Calgary, Alberta, Canada"); result = validateLocationAgainstFilters("Vancouver, BC, Canada", ["bc"]); assert(result.isValid, "BC should match Vancouver, BC, Canada"); result = validateLocationAgainstFilters("Montreal, Quebec, Canada", ["quebec"]); assert(result.isValid, "Quebec should match Montreal, Quebec, Canada"); result = validateLocationAgainstFilters("Halifax, NS, Canada", [ "nova scotia", "ns", ]); assert(result.isValid, "NS/Nova Scotia should match Halifax, NS, Canada"); // Negative edge cases result = validateLocationAgainstFilters("Seattle, Washington, USA", [ "ontario", "manitoba", ]); assert(!result.isValid, "Seattle should not match Ontario or Manitoba"); result = validateLocationAgainstFilters("Ottawa, Ontario, Canada", ["quebec"]); assert(!result.isValid, "Ottawa, Ontario should not match Quebec"); console.log("PASS: validateLocationAgainstFilters positive/negative cases");