diff --git a/src/__mocks__/state-mocks.ts b/src/__mocks__/state-mocks.ts
index 4a701fab6..9622c32c9 100644
--- a/src/__mocks__/state-mocks.ts
+++ b/src/__mocks__/state-mocks.ts
@@ -19,7 +19,7 @@ export const mockUser: GitifyUser = {
id: 123456789,
};
-export const mockAccounts: AuthState = {
+export const mockAuth: AuthState = {
token: 'token-123-456',
enterpriseAccounts: mockEnterpriseAccounts,
user: mockUser,
diff --git a/src/components/NotificationRow.test.tsx b/src/components/NotificationRow.test.tsx
index 6657a9bad..7a2a05484 100644
--- a/src/components/NotificationRow.test.tsx
+++ b/src/components/NotificationRow.test.tsx
@@ -1,6 +1,6 @@
import { fireEvent, render, screen } from '@testing-library/react';
import { shell } from 'electron';
-import { mockAccounts, mockSettings } from '../__mocks__/state-mocks';
+import { mockAuth, mockSettings } from '../__mocks__/state-mocks';
import { AppContext } from '../context/App';
import type { UserType } from '../typesGitHub';
import { mockSingleNotification } from '../utils/api/__mocks__/response-mocks';
@@ -131,7 +131,7 @@ describe('components/NotificationRow.tsx', () => {
value={{
settings: { ...mockSettings, markAsDoneOnOpen: false },
removeNotificationFromState,
- accounts: mockAccounts,
+ auth: mockAuth,
}}
>
@@ -156,7 +156,7 @@ describe('components/NotificationRow.tsx', () => {
value={{
settings: { ...mockSettings, markAsDoneOnOpen: false },
removeNotificationFromState,
- accounts: mockAccounts,
+ auth: mockAuth,
}}
>
@@ -181,7 +181,7 @@ describe('components/NotificationRow.tsx', () => {
value={{
settings: { ...mockSettings, markAsDoneOnOpen: true },
markNotificationDone,
- accounts: mockAccounts,
+ auth: mockAuth,
}}
>
@@ -205,7 +205,7 @@ describe('components/NotificationRow.tsx', () => {
@@ -230,7 +230,7 @@ describe('components/NotificationRow.tsx', () => {
@@ -285,7 +285,7 @@ describe('components/NotificationRow.tsx', () => {
diff --git a/src/components/NotificationRow.tsx b/src/components/NotificationRow.tsx
index 8ea831e1c..ff2558c0b 100644
--- a/src/components/NotificationRow.tsx
+++ b/src/components/NotificationRow.tsx
@@ -37,7 +37,7 @@ interface IProps {
export const NotificationRow: FC = ({ notification, hostname }) => {
const {
settings,
- accounts,
+ auth: accounts,
removeNotificationFromState,
markNotificationRead,
markNotificationDone,
diff --git a/src/context/App.test.tsx b/src/context/App.test.tsx
index 0ab7083f2..0409a4e79 100644
--- a/src/context/App.test.tsx
+++ b/src/context/App.test.tsx
@@ -1,7 +1,7 @@
import { act, fireEvent, render, waitFor } from '@testing-library/react';
import { useContext } from 'react';
-import { mockAccounts, mockSettings } from '../__mocks__/state-mocks';
+import { mockAuth, mockSettings } from '../__mocks__/state-mocks';
import { useNotifications } from '../hooks/useNotifications';
import type { AuthState, SettingsState } from '../types';
import * as apiRequests from '../utils/api/request';
@@ -15,11 +15,11 @@ jest.mock('../hooks/useNotifications');
const customRender = (
ui,
- accounts: AuthState = mockAccounts,
+ accounts: AuthState = mockAuth,
settings: SettingsState = mockSettings,
) => {
return render(
-
+
{ui}
,
);
@@ -320,9 +320,9 @@ describe('context/App.tsx', () => {
fireEvent.click(getByText('Test Case'));
});
- expect(saveStateMock).toHaveBeenCalledWith(
- { enterpriseAccounts: [], token: null, user: null },
- {
+ expect(saveStateMock).toHaveBeenCalledWith({
+ auth: { enterpriseAccounts: [], token: null, user: null },
+ settings: {
participating: true,
playSound: true,
showNotifications: true,
@@ -335,7 +335,7 @@ describe('context/App.tsx', () => {
showAccountHostname: false,
delayNotificationState: false,
},
- );
+ });
});
it('should call updateSetting and set auto launch(openAtStartup)', async () => {
@@ -365,9 +365,9 @@ describe('context/App.tsx', () => {
expect(setAutoLaunchMock).toHaveBeenCalledWith(true);
- expect(saveStateMock).toHaveBeenCalledWith(
- { enterpriseAccounts: [], token: null, user: null },
- {
+ expect(saveStateMock).toHaveBeenCalledWith({
+ auth: { enterpriseAccounts: [], token: null, user: null },
+ settings: {
participating: false,
playSound: true,
showNotifications: true,
@@ -380,6 +380,6 @@ describe('context/App.tsx', () => {
showAccountHostname: false,
delayNotificationState: false,
},
- );
+ });
});
});
diff --git a/src/context/App.tsx b/src/context/App.tsx
index fd7396af9..2525c45de 100644
--- a/src/context/App.tsx
+++ b/src/context/App.tsx
@@ -47,7 +47,7 @@ export const defaultSettings: SettingsState = {
};
interface AppContextState {
- accounts: AuthState;
+ auth: AuthState;
isLoggedIn: boolean;
login: () => void;
loginEnterprise: (data: AuthOptions) => void;
@@ -136,7 +136,7 @@ export const AppProvider = ({ children }: { children: ReactNode }) => {
const newSettings = { ...settings, [name]: value };
setSettings(newSettings);
- saveState(accounts, newSettings);
+ saveState({ auth: accounts, settings: newSettings });
},
[accounts, settings],
);
@@ -152,7 +152,7 @@ export const AppProvider = ({ children }: { children: ReactNode }) => {
const user = await getUserData(token, hostname);
const updatedAccounts = addAccount(accounts, token, hostname, user);
setAccounts(updatedAccounts);
- saveState(updatedAccounts, settings);
+ saveState({ auth: updatedAccounts, settings });
}, [accounts, settings]);
const loginEnterprise = useCallback(
@@ -161,7 +161,7 @@ export const AppProvider = ({ children }: { children: ReactNode }) => {
const { token, hostname } = await getToken(authCode, authOptions);
const updatedAccounts = addAccount(accounts, token, hostname);
setAccounts(updatedAccounts);
- saveState(updatedAccounts, settings);
+ saveState({ auth: updatedAccounts, settings });
},
[accounts, settings],
);
@@ -173,7 +173,7 @@ export const AppProvider = ({ children }: { children: ReactNode }) => {
const user = await getUserData(token, hostname);
const updatedAccounts = addAccount(accounts, token, hostname, user);
setAccounts(updatedAccounts);
- saveState(updatedAccounts, settings);
+ saveState({ auth: updatedAccounts, settings });
},
[accounts, settings],
);
@@ -186,8 +186,8 @@ export const AppProvider = ({ children }: { children: ReactNode }) => {
const restoreSettings = useCallback(() => {
const existing = loadState();
- if (existing.accounts) {
- setAccounts({ ...defaultAccounts, ...existing.accounts });
+ if (existing.auth) {
+ setAccounts({ ...defaultAccounts, ...existing.auth });
}
if (existing.settings) {
@@ -234,7 +234,7 @@ export const AppProvider = ({ children }: { children: ReactNode }) => {
return (
{
const { result } = renderHook(() => useNotifications());
act(() => {
- result.current.fetchNotifications(mockAccounts, {
+ result.current.fetchNotifications(mockAuth, {
...mockSettings,
detailedNotifications: false,
});
@@ -87,7 +87,7 @@ describe('hooks/useNotifications.ts', () => {
const { result } = renderHook(() => useNotifications());
act(() => {
- result.current.fetchNotifications(mockAccounts, mockSettings);
+ result.current.fetchNotifications(mockAuth, mockSettings);
});
expect(result.current.status).toBe('loading');
@@ -103,7 +103,7 @@ describe('hooks/useNotifications.ts', () => {
describe('enterprise', () => {
it('should fetch notifications with success - enterprise only', async () => {
const accounts: AuthState = {
- ...mockAccounts,
+ ...mockAuth,
token: null,
};
@@ -137,7 +137,7 @@ describe('hooks/useNotifications.ts', () => {
it('should fetch notifications with failure - enterprise only', async () => {
const accounts: AuthState = {
- ...mockAccounts,
+ ...mockAuth,
token: null,
};
@@ -168,7 +168,7 @@ describe('hooks/useNotifications.ts', () => {
describe('github.com', () => {
it('should fetch notifications with success - github.com only', async () => {
const accounts: AuthState = {
- ...mockAccounts,
+ ...mockAuth,
enterpriseAccounts: [],
user: mockUser,
};
@@ -201,7 +201,7 @@ describe('hooks/useNotifications.ts', () => {
it('should fetch notifications with failures - github.com only', async () => {
const accounts: AuthState = {
- ...mockAccounts,
+ ...mockAuth,
enterpriseAccounts: [],
};
@@ -233,7 +233,7 @@ describe('hooks/useNotifications.ts', () => {
describe('with detailed notifications', () => {
it('should fetch notifications with success', async () => {
const accounts: AuthState = {
- ...mockAccounts,
+ ...mockAuth,
enterpriseAccounts: [],
user: mockUser,
};
@@ -429,7 +429,7 @@ describe('hooks/useNotifications.ts', () => {
const { result } = renderHook(() => useNotifications());
act(() => {
- result.current.fetchNotifications(mockAccounts, {
+ result.current.fetchNotifications(mockAuth, {
...mockSettings,
detailedNotifications: false,
});
@@ -455,7 +455,7 @@ describe('hooks/useNotifications.ts', () => {
const id = 'notification-123';
describe('github.com', () => {
- const accounts = { ...mockAccounts, enterpriseAccounts: [] };
+ const accounts = { ...mockAuth, enterpriseAccounts: [] };
const hostname = 'github.com';
it('should mark a notification as read with success - github.com', async () => {
@@ -506,7 +506,7 @@ describe('hooks/useNotifications.ts', () => {
});
describe('enterprise', () => {
- const accounts = { ...mockAccounts, token: null };
+ const accounts = { ...mockAuth, token: null };
const hostname = 'github.gitify.io';
it('should mark a notification as read with success - enterprise', async () => {
@@ -561,7 +561,7 @@ describe('hooks/useNotifications.ts', () => {
const id = 'notification-123';
describe('github.com', () => {
- const accounts = { ...mockAccounts, enterpriseAccounts: [] };
+ const accounts = { ...mockAuth, enterpriseAccounts: [] };
const hostname = 'github.com';
it('should mark a notification as done with success - github.com', async () => {
@@ -612,7 +612,7 @@ describe('hooks/useNotifications.ts', () => {
});
describe('enterprise', () => {
- const accounts = { ...mockAccounts, token: null };
+ const accounts = { ...mockAuth, token: null };
const hostname = 'github.gitify.io';
it('should mark a notification as done with success - enterprise', async () => {
@@ -667,7 +667,7 @@ describe('hooks/useNotifications.ts', () => {
const id = 'notification-123';
describe('github.com', () => {
- const accounts = { ...mockAccounts, enterpriseAccounts: [] };
+ const accounts = { ...mockAuth, enterpriseAccounts: [] };
const hostname = 'github.com';
it('should unsubscribe from a notification with success - github.com', async () => {
@@ -730,7 +730,7 @@ describe('hooks/useNotifications.ts', () => {
});
describe('enterprise', () => {
- const accounts = { ...mockAccounts, token: null };
+ const accounts = { ...mockAuth, token: null };
const hostname = 'github.gitify.io';
it('should unsubscribe from a notification with success - enterprise', async () => {
@@ -797,7 +797,7 @@ describe('hooks/useNotifications.ts', () => {
const repoSlug = 'gitify-app/notifications-test';
describe('github.com', () => {
- const accounts = { ...mockAccounts, enterpriseAccounts: [] };
+ const accounts = { ...mockAuth, enterpriseAccounts: [] };
const hostname = 'github.com';
it("should mark a repository's notifications as read with success - github.com", async () => {
@@ -848,7 +848,7 @@ describe('hooks/useNotifications.ts', () => {
});
describe('enterprise', () => {
- const accounts = { ...mockAccounts, token: null };
+ const accounts = { ...mockAuth, token: null };
const hostname = 'github.gitify.io';
it("should mark a repository's notifications as read with success - enterprise", async () => {
@@ -904,7 +904,7 @@ describe('hooks/useNotifications.ts', () => {
const id = 'notification-123';
describe('github.com', () => {
- const accounts = { ...mockAccounts, enterpriseAccounts: [] };
+ const accounts = { ...mockAuth, enterpriseAccounts: [] };
const hostname = 'github.com';
it("should mark a repository's notifications as done with success - github.com", async () => {
@@ -955,7 +955,7 @@ describe('hooks/useNotifications.ts', () => {
});
describe('enterprise', () => {
- const accounts = { ...mockAccounts, token: null };
+ const accounts = { ...mockAuth, token: null };
const hostname = 'github.gitify.io';
it("should mark a repository's notifications as done with success - enterprise", async () => {
diff --git a/src/routes/LoginWithOAuthApp.test.tsx b/src/routes/LoginWithOAuthApp.test.tsx
index 3a34c277e..c3bdc1c05 100644
--- a/src/routes/LoginWithOAuthApp.test.tsx
+++ b/src/routes/LoginWithOAuthApp.test.tsx
@@ -30,7 +30,7 @@ describe('routes/LoginWithOAuthApp.tsx', () => {
it('renders correctly', () => {
const tree = render(
-
+
@@ -42,7 +42,7 @@ describe('routes/LoginWithOAuthApp.tsx', () => {
it('let us go back', () => {
render(
-
+
@@ -81,7 +81,7 @@ describe('routes/LoginWithOAuthApp.tsx', () => {
describe("'Create new OAuth App' button", () => {
it('should be disabled if no hostname configured', async () => {
render(
-
+
@@ -95,7 +95,7 @@ describe('routes/LoginWithOAuthApp.tsx', () => {
it('should open in browser if hostname configured', async () => {
render(
-
+
@@ -114,7 +114,7 @@ describe('routes/LoginWithOAuthApp.tsx', () => {
it('should receive a logged-in enterprise account', () => {
const { rerender } = render(
-
+
@@ -124,7 +124,7 @@ describe('routes/LoginWithOAuthApp.tsx', () => {
rerender(
{
it('should render the form with errors', () => {
render(
-
+
@@ -169,7 +169,7 @@ describe('routes/LoginWithOAuthApp.tsx', () => {
it('should open help docs in the browser', async () => {
render(
-
+
diff --git a/src/routes/LoginWithOAuthApp.tsx b/src/routes/LoginWithOAuthApp.tsx
index 3f66d6eb5..4620d266c 100644
--- a/src/routes/LoginWithOAuthApp.tsx
+++ b/src/routes/LoginWithOAuthApp.tsx
@@ -58,7 +58,7 @@ export const validate = (values: IValues): IFormErrors => {
export const LoginWithOAuthApp: FC = () => {
const {
- accounts: { enterpriseAccounts },
+ auth: { enterpriseAccounts },
loginEnterprise,
} = useContext(AppContext);
const navigate = useNavigate();
diff --git a/src/routes/Settings.test.tsx b/src/routes/Settings.test.tsx
index 5049dd3e0..ce3d69a51 100644
--- a/src/routes/Settings.test.tsx
+++ b/src/routes/Settings.test.tsx
@@ -1,7 +1,7 @@
import { act, fireEvent, render, screen } from '@testing-library/react';
import { ipcRenderer, shell } from 'electron';
import { MemoryRouter } from 'react-router-dom';
-import { mockAccounts, mockSettings } from '../__mocks__/state-mocks';
+import { mockAuth, mockSettings } from '../__mocks__/state-mocks';
import { AppContext } from '../context/App';
import { SettingsRoute } from './Settings';
@@ -23,7 +23,7 @@ describe('routes/Settings.tsx', () => {
await act(async () => {
render(
@@ -41,7 +41,7 @@ describe('routes/Settings.tsx', () => {
@@ -62,7 +62,7 @@ describe('routes/Settings.tsx', () => {
@@ -85,7 +85,7 @@ describe('routes/Settings.tsx', () => {
@@ -115,7 +115,7 @@ describe('routes/Settings.tsx', () => {
@@ -140,7 +140,7 @@ describe('routes/Settings.tsx', () => {
@@ -179,7 +179,7 @@ describe('routes/Settings.tsx', () => {
detailedNotifications: false,
showBots: true,
},
- accounts: mockAccounts,
+ auth: mockAuth,
updateSetting,
}}
>
@@ -220,7 +220,7 @@ describe('routes/Settings.tsx', () => {
detailedNotifications: true,
showBots: true,
},
- accounts: mockAccounts,
+ auth: mockAuth,
updateSetting,
}}
>
@@ -257,7 +257,7 @@ describe('routes/Settings.tsx', () => {
@@ -282,7 +282,7 @@ describe('routes/Settings.tsx', () => {
@@ -312,7 +312,7 @@ describe('routes/Settings.tsx', () => {
@@ -343,7 +343,7 @@ describe('routes/Settings.tsx', () => {
@@ -368,7 +368,7 @@ describe('routes/Settings.tsx', () => {
@@ -393,7 +393,7 @@ describe('routes/Settings.tsx', () => {
@@ -420,7 +420,7 @@ describe('routes/Settings.tsx', () => {
@@ -445,7 +445,7 @@ describe('routes/Settings.tsx', () => {
@@ -475,7 +475,7 @@ describe('routes/Settings.tsx', () => {
@@ -498,8 +498,8 @@ describe('routes/Settings.tsx', () => {
{
@@ -546,7 +546,7 @@ describe('routes/Settings.tsx', () => {
@@ -571,7 +571,7 @@ describe('routes/Settings.tsx', () => {
await act(async () => {
render(
diff --git a/src/routes/Settings.tsx b/src/routes/Settings.tsx
index 442e8251e..7a0aec680 100644
--- a/src/routes/Settings.tsx
+++ b/src/routes/Settings.tsx
@@ -33,7 +33,12 @@ import {
import { setTheme } from '../utils/theme';
export const SettingsRoute: FC = () => {
- const { accounts, settings, updateSetting, logout } = useContext(AppContext);
+ const {
+ auth: accounts,
+ settings,
+ updateSetting,
+ logout,
+ } = useContext(AppContext);
const navigate = useNavigate();
const [isLinux, setIsLinux] = useState(false);
diff --git a/src/types.ts b/src/types.ts
index b4f663cd9..b504dd7d8 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -34,6 +34,11 @@ interface SystemSettingsState {
showNotificationsCountInTray: boolean;
}
+export interface GitifyState {
+ auth?: AuthState;
+ settings?: SettingsState;
+}
+
export enum Theme {
SYSTEM = 'SYSTEM',
LIGHT = 'LIGHT',
diff --git a/src/utils/helpers.test.ts b/src/utils/helpers.test.ts
index 533330085..42bd831cf 100644
--- a/src/utils/helpers.test.ts
+++ b/src/utils/helpers.test.ts
@@ -1,5 +1,5 @@
import type { AxiosPromise, AxiosResponse } from 'axios';
-import { mockAccounts, mockUser } from '../__mocks__/state-mocks';
+import { mockAuth, mockUser } from '../__mocks__/state-mocks';
import type { SubjectType } from '../typesGitHub';
import {
mockGraphQLResponse,
@@ -19,14 +19,14 @@ describe('utils/helpers.ts', () => {
describe('isPersonalAccessTokenLoggedIn', () => {
it('logged in', () => {
expect(
- isPersonalAccessTokenLoggedIn({ ...mockAccounts, token: '1234' }),
+ isPersonalAccessTokenLoggedIn({ ...mockAuth, token: '1234' }),
).toBe(true);
});
it('logged out', () => {
- expect(
- isPersonalAccessTokenLoggedIn({ ...mockAccounts, token: null }),
- ).toBe(false);
+ expect(isPersonalAccessTokenLoggedIn({ ...mockAuth, token: null })).toBe(
+ false,
+ );
});
});
@@ -34,7 +34,7 @@ describe('utils/helpers.ts', () => {
it('logged in', () => {
expect(
isOAuthAppLoggedIn({
- ...mockAccounts,
+ ...mockAuth,
enterpriseAccounts: [{ hostname: 'github.gitify.io', token: '1234' }],
}),
).toBe(true);
@@ -42,12 +42,12 @@ describe('utils/helpers.ts', () => {
it('logged out', () => {
expect(
- isOAuthAppLoggedIn({ ...mockAccounts, enterpriseAccounts: null }),
+ isOAuthAppLoggedIn({ ...mockAuth, enterpriseAccounts: null }),
).toBe(false);
- expect(
- isOAuthAppLoggedIn({ ...mockAccounts, enterpriseAccounts: [] }),
- ).toBe(false);
+ expect(isOAuthAppLoggedIn({ ...mockAuth, enterpriseAccounts: [] })).toBe(
+ false,
+ );
});
});
@@ -110,14 +110,14 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(1);
expect(apiRequestAuthMock).toHaveBeenCalledWith(
subject.latest_comment_url,
'GET',
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toBe(`${mockHtmlUrl}?${mockNotificationReferrer}`);
});
@@ -145,14 +145,14 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(1);
expect(apiRequestAuthMock).toHaveBeenCalledWith(
subject.url,
'GET',
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toBe(`${mockHtmlUrl}?${mockNotificationReferrer}`);
});
@@ -171,7 +171,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -193,7 +193,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -215,7 +215,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -237,7 +237,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -259,7 +259,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -281,7 +281,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -303,7 +303,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -335,7 +335,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(1);
@@ -367,7 +367,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(1);
@@ -395,7 +395,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(1);
@@ -419,7 +419,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -442,7 +442,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -465,7 +465,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -487,7 +487,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
@@ -510,7 +510,7 @@ describe('utils/helpers.ts', () => {
...mockSingleNotification,
subject: subject,
},
- mockAccounts,
+ mockAuth,
);
expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
diff --git a/src/utils/notifications.test.ts b/src/utils/notifications.test.ts
index 6488677bc..d8c03630e 100644
--- a/src/utils/notifications.test.ts
+++ b/src/utils/notifications.test.ts
@@ -5,7 +5,7 @@ import {
mockSingleAccountNotifications,
} from '../__mocks__/notifications-mocks';
import { partialMockNotification } from '../__mocks__/partial-mocks';
-import { mockAccounts, mockSettings } from '../__mocks__/state-mocks';
+import { mockAuth, mockSettings } from '../__mocks__/state-mocks';
import { defaultSettings } from '../context/App';
import type { SettingsState } from '../types';
import {
@@ -35,7 +35,7 @@ describe('utils/notifications.ts', () => {
[],
mockAccountNotifications,
settings,
- mockAccounts,
+ mockAuth,
);
expect(notificationsHelpers.raiseNativeNotification).toHaveBeenCalledTimes(
@@ -60,7 +60,7 @@ describe('utils/notifications.ts', () => {
[],
mockAccountNotifications,
settings,
- mockAccounts,
+ mockAuth,
);
expect(notificationsHelpers.raiseNativeNotification).not.toHaveBeenCalled();
@@ -81,7 +81,7 @@ describe('utils/notifications.ts', () => {
mockSingleAccountNotifications,
mockSingleAccountNotifications,
settings,
- mockAccounts,
+ mockAuth,
);
expect(notificationsHelpers.raiseNativeNotification).not.toHaveBeenCalled();
@@ -98,12 +98,7 @@ describe('utils/notifications.ts', () => {
jest.spyOn(notificationsHelpers, 'raiseNativeNotification');
jest.spyOn(notificationsHelpers, 'raiseSoundNotification');
- notificationsHelpers.triggerNativeNotifications(
- [],
- [],
- settings,
- mockAccounts,
- );
+ notificationsHelpers.triggerNativeNotifications([], [], settings, mockAuth);
expect(notificationsHelpers.raiseNativeNotification).not.toHaveBeenCalled();
expect(notificationsHelpers.raiseSoundNotification).not.toHaveBeenCalled();
@@ -115,14 +110,14 @@ describe('utils/notifications.ts', () => {
const nativeNotification: Notification =
notificationsHelpers.raiseNativeNotification(
[mockSingleNotification],
- mockAccounts,
+ mockAuth,
);
nativeNotification.onclick(null);
expect(helpers.openInBrowser).toHaveBeenCalledTimes(1);
expect(helpers.openInBrowser).toHaveBeenLastCalledWith(
mockSingleNotification,
- mockAccounts,
+ mockAuth,
);
expect(ipcRenderer.send).toHaveBeenCalledWith('hide-window');
});
@@ -130,7 +125,7 @@ describe('utils/notifications.ts', () => {
it('should click on a native notification (with more than 1 notification)', () => {
const nativeNotification = notificationsHelpers.raiseNativeNotification(
mockGitHubNotifications,
- mockAccounts,
+ mockAuth,
);
nativeNotification.onclick(null);
diff --git a/src/utils/storage.test.ts b/src/utils/storage.test.ts
index 37fdafc6a..f4cf81cf2 100644
--- a/src/utils/storage.test.ts
+++ b/src/utils/storage.test.ts
@@ -10,7 +10,7 @@ describe('utils/storage.ts', () => {
}),
);
const result = loadState();
- expect(result.accounts.token).toBe('123-456');
+ expect(result.auth.token).toBe('123-456');
expect(result.settings.theme).toBe('DARK');
});
@@ -19,20 +19,20 @@ describe('utils/storage.ts', () => {
.spyOn(localStorage.__proto__, 'getItem')
.mockReturnValueOnce(JSON.stringify({}));
const result = loadState();
- expect(result.accounts).toBeUndefined();
+ expect(result.auth).toBeUndefined();
expect(result.settings).toBeUndefined();
});
it('should save the state to localstorage', () => {
jest.spyOn(localStorage.__proto__, 'setItem');
- saveState(
- {
+ saveState({
+ auth: {
token: '123-456',
enterpriseAccounts: [],
user: null,
},
- mockSettings,
- );
+ settings: mockSettings,
+ });
expect(localStorage.setItem).toHaveBeenCalledTimes(1);
});
diff --git a/src/utils/storage.ts b/src/utils/storage.ts
index 0f3332e30..74686be28 100644
--- a/src/utils/storage.ts
+++ b/src/utils/storage.ts
@@ -1,23 +1,19 @@
-import type { AuthState, SettingsState } from '../types';
+import type { GitifyState } from '../types';
import { Constants } from './constants';
-export const loadState = (): {
- accounts?: AuthState;
- settings?: SettingsState;
-} => {
+export function loadState(): GitifyState {
const existing = localStorage.getItem(Constants.STORAGE_KEY);
- const { auth: accounts, settings } = (existing && JSON.parse(existing)) || {};
- return { accounts, settings };
-};
+ const { auth, settings } = (existing && JSON.parse(existing)) || {};
+ return { auth, settings };
+}
-export const saveState = (
- accounts: AuthState,
- settings: SettingsState,
-): void => {
- const settingsString = JSON.stringify({ auth: accounts, settings });
+export function saveState(gitifyState: GitifyState) {
+ const auth = gitifyState.auth;
+ const settings = gitifyState.settings;
+ const settingsString = JSON.stringify({ auth, settings });
localStorage.setItem(Constants.STORAGE_KEY, settingsString);
-};
+}
-export const clearState = (): void => {
+export function clearState() {
localStorage.clear();
-};
+}
diff --git a/src/utils/subject.test.ts b/src/utils/subject.test.ts
index 4864732d7..df8930784 100644
--- a/src/utils/subject.test.ts
+++ b/src/utils/subject.test.ts
@@ -5,7 +5,7 @@ import {
partialMockNotification,
partialMockUser,
} from '../__mocks__/partial-mocks';
-import { mockAccounts } from '../__mocks__/state-mocks';
+import { mockAuth } from '../__mocks__/state-mocks';
import type {
Discussion,
DiscussionAuthor,
@@ -46,7 +46,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -63,7 +63,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -80,7 +80,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -97,7 +97,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -114,7 +114,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -131,7 +131,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toBeNull();
@@ -145,7 +145,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toBeNull();
@@ -173,7 +173,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -203,7 +203,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -245,7 +245,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -273,7 +273,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -301,7 +301,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -329,7 +329,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -357,7 +357,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -385,7 +385,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -424,7 +424,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -449,7 +449,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -478,7 +478,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -507,7 +507,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -536,7 +536,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -564,7 +564,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -612,7 +612,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -647,7 +647,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -682,7 +682,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -717,7 +717,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -751,7 +751,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -784,7 +784,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -832,7 +832,7 @@ describe('utils/subject.ts', () => {
const result = await getLatestReviewForReviewers(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual([
@@ -848,7 +848,7 @@ describe('utils/subject.ts', () => {
const result = await getLatestReviewForReviewers(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toBeNull();
@@ -859,7 +859,7 @@ describe('utils/subject.ts', () => {
const result = await getLatestReviewForReviewers(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toBeNull();
@@ -883,7 +883,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -907,7 +907,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toEqual({
@@ -925,7 +925,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toBeNull();
@@ -939,7 +939,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toBeNull();
@@ -956,7 +956,7 @@ describe('utils/subject.ts', () => {
const result = await getGitifySubjectDetails(
mockNotification,
- mockAccounts.token,
+ mockAuth.token,
);
expect(result).toBeNull();
@@ -980,7 +980,7 @@ describe('utils/subject.ts', () => {
.get('/repos/gitify-app/notifications-test/issues/1')
.replyWithError(mockError);
- await getGitifySubjectDetails(mockNotification, mockAccounts.token);
+ await getGitifySubjectDetails(mockNotification, mockAuth.token);
expect(consoleErrorSpy).toHaveBeenCalledWith(
'Error occurred while fetching details for Issue notification: This issue will throw an error',