// @ts-ignore import { formatPhoneNumber } from "./utils" test("Json object type checking", () => { const jsonData = { name: "John", } expect(typeof jsonData).toEqual("object") const stringData = "just a simple string" expect(typeof stringData).toEqual("string") }) test("parse user claim", () => { const payload = [ { scopeName: "profile", claimName: "family_name", claimValue: "Reta", claimValueType: "TEXT", }, { scopeName: "profile", claimName: "given_name", claimValue: "Padberg", claimValueType: "TEXT", }, { scopeName: "profile", claimName: "name", claimValue: "Reta Padberg", claimValueType: "TEXT", }, { scopeName: "profile", claimName: "profile_commitment", claimValue: "6EyMh-CdEKwEPwf7EOeqhGJVOyW5wA_Vm3_dweRgqjc", claimValueType: "TEXT", }, { scopeName: "profile", claimName: "profile_verified", claimValue: false, claimValueType: "BOOLEAN", }, { scopeName: "phone", claimName: "phone_number", claimValue: "+84379615296", claimValueType: "TEXT", }, { scopeName: "phone", claimName: "phone_number_commitment", claimValue: "92t4MbVnOWSoFYrCzLTlBzPpEPcnXuN1tq7XUEbfSZM", claimValueType: "TEXT", }, { scopeName: "phone", claimName: "phone_number_verified", claimValue: true, claimValueType: "BOOLEAN", }, { scopeName: "email", claimName: "email", claimValue: "Geoffrey_Waters@gmail.com", claimValueType: "TEXT", }, { scopeName: "email", claimName: "email_commitment", claimValue: "qRjnqLMg9FtQuLbFy8_wwuPxSnJfA-_PjqMKSzLIsgw", claimValueType: "TEXT", }, { scopeName: "email", claimName: "email_verified", claimValue: false, claimValueType: "BOOLEAN", }, ] const jsonString = JSON.stringify(payload) const jsonObj = JSON.parse(jsonString) if (jsonObj && jsonObj instanceof Array) { const phoneObj = jsonObj.find((x) => x["claimName"] === "phone_number") const fullPhoneNumber = phoneObj ? phoneObj.claimValue : "" const countryCode = fullPhoneNumber.substring(0, 3) const phoneNumber = fullPhoneNumber.substring(3) console.log(countryCode) console.log(phoneNumber) } }) test("formatPhoneNumber function", () => { let invalidPhone = formatPhoneNumber("0922786818") expect(invalidPhone).toEqual("922786818") invalidPhone = formatPhoneNumber("0900700018") expect(invalidPhone).toEqual("900700018") let validPhone = formatPhoneNumber("928465891") expect(validPhone).toEqual("928465891") })