| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- import getMeta from '@/utils/meta'
- const MOCK_DELAY = 1000
- const fakeUsersData = [
- {
- affiliation: {
- institution: {
- confirmed: true,
- id: 1,
- name: 'Overleaf',
- },
- licence: 'pro_plus',
- },
- confirmedAt: '2022-03-09T10:59:44.139Z',
- email: 'foo@overleaf.com',
- default: true,
- emailHasInstitutionLicence: true,
- },
- {
- confirmedAt: '2022-03-10T10:59:44.139Z',
- email: 'bar@overleaf.com',
- default: false,
- },
- {
- affiliation: {
- institution: {
- confirmed: true,
- id: 2,
- name: 'Overleaf',
- },
- licence: 'pro_plus',
- department: 'Art & Art History',
- role: 'Postdoc',
- },
- email: 'baz@overleaf.com',
- default: false,
- },
- {
- email: 'qux@overleaf.com',
- default: false,
- },
- ]
- const fakeReconfirmationUsersData = [
- {
- affiliation: {
- institution: {
- confirmed: true,
- isUniversity: true,
- id: 4,
- name: 'Reconfirmable Email Highlighted',
- },
- licence: 'pro_plus',
- inReconfirmNotificationPeriod: true,
- },
- email: 'reconfirmation-highlighted@overleaf.com',
- confirmedAt: '2022-03-09T10:59:44.139Z',
- default: false,
- },
- {
- affiliation: {
- institution: {
- confirmed: true,
- isUniversity: true,
- id: 4,
- name: 'Reconfirmable Emails Primary',
- },
- licence: 'pro_plus',
- inReconfirmNotificationPeriod: true,
- },
- email: 'reconfirmation-nonsso@overleaf.com',
- confirmedAt: '2022-03-09T10:59:44.139Z',
- default: true,
- },
- {
- affiliation: {
- institution: {
- confirmed: true,
- ssoEnabled: true,
- isUniversity: true,
- id: 3,
- name: 'Reconfirmable SSO',
- },
- licence: 'pro_plus',
- inReconfirmNotificationPeriod: true,
- },
- email: 'reconfirmation-sso@overleaf.com',
- confirmedAt: '2022-03-09T10:59:44.139Z',
- samlProviderId: 'reconfirmation-sso-provider-id',
- default: false,
- },
- {
- affiliation: {
- institution: {
- confirmed: true,
- isUniversity: true,
- ssoEnabled: true,
- id: 5,
- name: 'Reconfirmed SSO',
- },
- licence: 'pro_plus',
- },
- confirmedAt: '2022-03-09T10:59:44.139Z',
- email: 'sso@overleaf.com',
- samlProviderId: 'sso-reconfirmed-provider-id',
- default: false,
- },
- ]
- const fakeInstitutions = [
- {
- id: 9326,
- name: 'Unknown',
- country_code: 'al',
- departments: ['New department'],
- },
- ]
- const fakeInstitution = {
- id: 123,
- name: 'test',
- country_code: 'de',
- departments: [],
- team_id: null,
- }
- const bazFakeInstitution = {
- id: 2,
- name: 'Baz',
- country_code: 'de',
- departments: ['Custom department 1', 'Custom department 2'],
- team_id: null,
- }
- const fakeInstitutionDomain1 = [
- {
- university: {
- id: 1234,
- ssoEnabled: true,
- name: 'Auto Complete University',
- },
- hostname: 'autocomplete.edu',
- confirmed: true,
- },
- ]
- const fakeInstitutionDomain2 = [
- {
- university: {
- id: 5678,
- ssoEnabled: false,
- name: 'Fake Auto Complete University',
- },
- hostname: 'fake-autocomplete.edu',
- confirmed: true,
- },
- ]
- export function defaultSetupMocks(fetchMock) {
- fetchMock
- .get(/\/user\/emails/, fakeUsersData, { delay: MOCK_DELAY })
- .get(/\/institutions\/list\/2/, bazFakeInstitution, { delay: MOCK_DELAY })
- .get(/\/institutions\/list\/\d+/, fakeInstitution, { delay: MOCK_DELAY })
- .get(/\/institutions\/list\?country_code=.*/, fakeInstitutions, {
- delay: MOCK_DELAY,
- })
- .get(/\/institutions\/domains\?hostname=a/, fakeInstitutionDomain1)
- .get(/\/institutions\/domains\?hostname=f/, fakeInstitutionDomain2)
- .get(/\/institutions\/domains/, [])
- .post(/\/user\/emails\/*/, 200, {
- delay: MOCK_DELAY,
- })
- }
- export function reconfirmationSetupMocks(fetchMock) {
- defaultSetupMocks(fetchMock)
- fetchMock.get(/\/user\/emails/, fakeReconfirmationUsersData, {
- delay: MOCK_DELAY,
- })
- }
- export function emailLimitSetupMocks(fetchMock) {
- const userData = []
- for (let i = 0; i < 10; i++) {
- userData.push({ email: `example${i}@overleaf.com` })
- }
- defaultSetupMocks(fetchMock)
- fetchMock.get(/\/user\/emails/, userData, {
- delay: MOCK_DELAY,
- })
- }
- export function errorsMocks(fetchMock) {
- fetchMock
- .get(/\/user\/emails/, fakeUsersData, { delay: MOCK_DELAY })
- .post(/\/user\/emails\/*/, 500)
- }
- export function setDefaultMeta() {
- Object.assign(getMeta('ol-ExposedSettings'), {
- hasAffiliationsFeature: true,
- hasSamlFeature: true,
- samlInitPath: 'saml/init',
- })
- }
- export function setReconfirmationMeta() {
- setDefaultMeta()
- window.metaAttributesCache.set(
- 'ol-reconfirmationRemoveEmail',
- 'reconfirmation-highlighted@overleaf.com'
- )
- window.metaAttributesCache.set(
- 'ol-reconfirmedViaSAML',
- 'sso-reconfirmed-provider-id'
- )
- }
|