(code?: string | null)
| 21 | await fsExtra.ensureDir(path.dirname(githubUserFixturePath)) |
| 22 | |
| 23 | function createGitHubUser(code?: string | null) { |
| 24 | const createEmail = () => ({ |
| 25 | email: faker.internet.email(), |
| 26 | verified: faker.datatype.boolean(), |
| 27 | primary: false, // <-- can only have one of these |
| 28 | visibility: faker.helpers.arrayElement(['public', null]), |
| 29 | }) |
| 30 | const primaryEmail = { |
| 31 | ...createEmail(), |
| 32 | verified: true, |
| 33 | primary: true, |
| 34 | } |
| 35 | |
| 36 | const emails = [ |
| 37 | { |
| 38 | email: faker.internet.email(), |
| 39 | verified: false, |
| 40 | primary: false, |
| 41 | visibility: 'public', |
| 42 | }, |
| 43 | { |
| 44 | email: faker.internet.email(), |
| 45 | verified: true, |
| 46 | primary: false, |
| 47 | visibility: null, |
| 48 | }, |
| 49 | primaryEmail, |
| 50 | ] |
| 51 | |
| 52 | code ??= faker.string.uuid() |
| 53 | return { |
| 54 | code, |
| 55 | accessToken: `${code}_mock_access_token`, |
| 56 | profile: { |
| 57 | login: faker.internet.userName(), |
| 58 | id: faker.string.uuid(), |
| 59 | name: faker.person.fullName(), |
| 60 | avatar_url: 'https://github.com/ghost.png', |
| 61 | emails: emails.map((e) => e.email), |
| 62 | }, |
| 63 | emails, |
| 64 | primaryEmail: primaryEmail.email, |
| 65 | } |
| 66 | } |
| 67 | |
| 68 | export type GitHubUser = ReturnType<typeof createGitHubUser> |
| 69 |
no test coverage detected