{"version":3,"sources":["../../src/matchers/toBeAt.ts"],"sourcesContent":["import { Id, Tester, UseCase } from '../utils/Types';\nimport { match } from './Match';\n\nexport const toBeAt = (tester?: Tester, uc?: UseCase, id?: Id): jest.CustomMatcherResult => {\n  return match<Tester>(tester as Tester)\n    .undefined(t => t, 'Tester is undefined')\n    .undefined(t => t.url, 'Tester does not contain a URL')\n    .undefined(() => uc, 'Use case is undefined')\n    .not(\n      t => t.url.includes(`/${uc?.app.id}`),\n      t => `We expected the tester to be at app '${uc?.app.id}', but it is at '${t?.url}' instead.`\n    )\n    .not(\n      t => t.url.includes(`/${uc?.id}`),\n      t => `We expected the tester to be at use case '${uc?.id}', but it is at '${t?.url}' instead.`\n    )\n    .not(\n      t => t.url.includes(id ? `/${id}` : ''),\n      t => `We expected the path to contain '/42', but it is '${t?.url}' instead.`\n    )\n    .else(t => `The tester is at '${t?.url}'`);\n};\n\nexpect.extend({\n  toBeAt,\n});\n\ndeclare global {\n  // eslint-disable-next-line @typescript-eslint/no-namespace\n  namespace jest {\n    interface Matchers<R, T> {\n      toBeAt(uc?: UseCase, id?: Id): R;\n    }\n  }\n}\n"],"mappings":";;;;;;;AAGO,IAAM,SAAS,CAAC,QAAiB,IAAc,OAAsC;AAC1F,SAAO,MAAc,MAAgB,EAClC,UAAU,OAAK,GAAG,qBAAqB,EACvC,UAAU,OAAK,EAAE,KAAK,+BAA+B,EACrD,UAAU,MAAM,IAAI,uBAAuB,EAC3C;AAAA,IACC,OAAK,EAAE,IAAI,SAAS,IAAI,IAAI,IAAI,EAAE,EAAE;AAAA,IACpC,OAAK,wCAAwC,IAAI,IAAI,EAAE,oBAAoB,GAAG,GAAG;AAAA,EACnF,EACC;AAAA,IACC,OAAK,EAAE,IAAI,SAAS,IAAI,IAAI,EAAE,EAAE;AAAA,IAChC,OAAK,6CAA6C,IAAI,EAAE,oBAAoB,GAAG,GAAG;AAAA,EACpF,EACC;AAAA,IACC,OAAK,EAAE,IAAI,SAAS,KAAK,IAAI,EAAE,KAAK,EAAE;AAAA,IACtC,OAAK,qDAAqD,GAAG,GAAG;AAAA,EAClE,EACC,KAAK,OAAK,qBAAqB,GAAG,GAAG,GAAG;AAC7C;AAEA,OAAO,OAAO;AAAA,EACZ;AACF,CAAC;","names":[]}