Repository: gitify-app/gitify
Pull request #1080 (2024-05-02 03:04:27)

refactor: broaden try/catch and add coverage
Move the try/catch to the main entry, `getGitifySubjectDetails` and add test coverage


Patch:
diff --git a/src/__mocks__/mockedData.ts b/src/__mocks__/mockedData.ts
index 27ed7d6b..e7a4dad1 100644
--- a/src/__mocks__/mockedData.ts
+++ b/src/__mocks__/mockedData.ts
@@ -5,6 +5,7 @@ import type {
 } from '../types';
 import type {
   Discussion,
+  DiscussionAuthor,
   DiscussionComments,
   GraphQLSearch,
   Notification,
@@ -47,161 +48,145 @@ export const mockedNotificationUser: User = {
   site_admin: false,
 };
 
-export const mockedCommenterUser: User = {
-  login: 'dummyuser',
-  id: 987654321,
-  node_id: 'MDQ6VXNlcjI=',
-  avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
-  gravatar_url: '',
-  url: 'https://api.github.com/users/dummyuser',
-  html_url: 'https://github.com/dummyuser',
-  followers_url: 'https://api.github.com/users/dummyuser/followers',
-  following_url:
-    'https://api.github.com/users/dummyuser/following{/other_user}',
-  gists_url: 'https://api.github.com/users/dummyuser/gists{/gist_id}',
-  starred_url: 'https://api.github.com/users/dummyuser/starred{/owner}{/repo}',
-  subscriptions_url: 'https://api.github.com/users/dummyuser/subscriptions',
-  organizations_url: 'https://api.github.com/users/dummyuser/orgs',
-  repos_url: 'https://api.github.com/users/dummyuser/repos',
-  events_url: 'https://api.github.com/users/dummyuser/events{/privacy}',
-  received_events_url: 'https://api.github.com/users/dummyuser/received_events',
-  type: 'User',
-  site_admin: false,
-};
-
-export const mockedSingleNotification: Notification = {
-  hostname: Constants.GITHUB_API_BASE_URL,
-  id: '138661096',
-  unread: true,
-  reason: 'subscribed',
-  updated_at: '2017-05-20T17:51:57Z',
-  last_read_at: '2017-05-20T17:06:51Z',
-  subject: {
-    title: 'I am a robot and this is a test!',
-    url: 'https://api.github.com/repos/manosim/notifications-test/issues/1',
-    latest_comment_url:
-      'https://api.github.com/repos/manosim/notifications-test/issues/comments/302888448',
-    type: 'Issue',
-    state: 'open',
-    user: {
-      login: 'manosim',
-      html_url: 'https://github.com/manosim',
-      avatar_url: 'https://avatars0.githubusercontent.com/u/6333409?v=3',
-      type: 'User',
+// 2 Notifications
+// Repository : 'gitify-app/notifications-test'
+export const mockedGitHubNotifications: Notification[] = [
+  {
+    hostname: Constants.GITHUB_API_BASE_URL,
+    id: '138661096',
+    unread: true,
+    reason: 'subscribed',
+    updated_at: '2017-05-20T17:51:57Z',
+    last_read_at: '2017-05-20T17:06:51Z',
+    subject: {
+      title: 'I am a robot and this is a test!',
+      url: 'https://api.github.com/repos/gitify-app/notifications-test/issues/1',
+      latest_comment_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/issues/comments/302888448',
+      type: 'Issue',
+      state: 'open',
+      user: {
+        login: 'gitify-app',
+        html_url: 'https://github.com/gitify-app',
+        avatar_url:
+          'https://avatars.githubusercontent.com/u/133795385?s=200&v=4',
+        type: 'User',
+      },
     },
-  },
-  repository: {
-    id: 57216596,
-    node_id: 'MDEwOlJlcG9zaXRvcnkzNjAyOTcwNg==',
-    name: 'notifications-test',
-    full_name: 'manosim/notifications-test',
-    url: 'https://api.github.com/manosim/notifications-test',
-    owner: {
-      login: 'manosim',
-      id: 6333409,
-      node_id: 'MDQ6VXNlcjYzMzM0MDk=',
-      avatar_url: 'https://avatars0.githubusercontent.com/u/6333409?v=3',
-      gravatar_id: '',
-      url: 'https://api.github.com/users/manosim',
-      html_url: 'https://github.com/manosim',
-      followers_url: 'https://api.github.com/users/manosim/followers',
-      following_url:
-        'https://api.github.com/users/manosim/following{/other_user}',
-      gists_url: 'https://api.github.com/users/manosim/gists{/gist_id}',
-      starred_url:
-        'https://api.github.com/users/manosim/starred{/owner}{/repo}',
-      subscriptions_url: 'https://api.github.com/users/manosim/subscriptions',
-      organizations_url: 'https://api.github.com/users/manosim/orgs',
-      repos_url: 'https://api.github.com/users/manosim/repos',
-      events_url: 'https://api.github.com/users/manosim/events{/privacy}',
-      received_events_url:
-        'https://api.github.com/users/manosim/received_events',
-      type: 'User',
-      site_admin: false,
+    repository: {
+      id: 57216596,
+      node_id: 'MDEwOlJlcG9zaXRvcnkzNjAyOTcwNg==',
+      name: 'notifications-test',
+      full_name: 'gitify-app/notifications-test',
+      url: 'https://api.github.com/gitify-app/notifications-test',
+      owner: {
+        login: 'gitify-app',
+        id: 6333409,
+        node_id: 'MDQ6VXNlcjYzMzM0MDk=',
+        avatar_url:
+          'https://avatars.githubusercontent.com/u/133795385?s=200&v=4',
+        gravatar_id: '',
+        url: 'https://api.github.com/users/gitify-app',
+        html_url: 'https://github.com/gitify-app',
+        followers_url: 'https://api.github.com/users/gitify-app/followers',
+        following_url:
+          'https://api.github.com/users/gitify-app/following{/other_user}',
+        gists_url: 'https://api.github.com/users/gitify-app/gists{/gist_id}',
+        starred_url:
+          'https://api.github.com/users/gitify-app/starred{/owner}{/repo}',
+        subscriptions_url:
+          'https://api.github.com/users/gitify-app/subscriptions',
+        organizations_url: 'https://api.github.com/users/gitify-app/orgs',
+        repos_url: 'https://api.github.com/users/gitify-app/repos',
+        events_url: 'https://api.github.com/users/gitify-app/events{/privacy}',
+        received_events_url:
+          'https://api.github.com/users/gitify-app/received_events',
+        type: 'User',
+        site_admin: false,
+      },
+      private: true,
+      description: 'Test Repository',
+      fork: false,
+      archive_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/{archive_format}{/ref}',
+      assignees_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/assignees{/user}',
+      blobs_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/git/blobs{/sha}',
+      branches_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/branches{/branch}',
+      collaborators_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/collaborators{/collaborator}',
+      comments_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/comments{/number}',
+      commits_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/commits{/sha}',
+      compare_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/compare/{base}...{head}',
+      contents_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/contents/{+path}',
+      contributors_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/contributors',
+      deployments_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/deployments',
+      downloads_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/downloads',
+      events_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/events',
+      forks_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/forks',
+      git_commits_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/git/commits{/sha}',
+      git_refs_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/git/refs{/sha}',
+      git_tags_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/git/tags{/sha}',
+      hooks_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/hooks',
+      html_url: 'https://github.com/gitify-app/notifications-test',
+      issue_comment_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/issues/comments{/number}',
+      issue_events_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/issues/events{/number}',
+      issues_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/issues{/number}',
+      keys_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/keys{/key_id}',
+      labels_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/labels{/name}',
+      languages_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/languages',
+      merges_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/merges',
+      milestones_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/milestones{/number}',
+      notifications_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/notifications{?since,all,participating}',
+      pulls_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/pulls{/number}',
+      releases_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/releases{/id}',
+      stargazers_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/stargazers',
+      statuses_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/statuses/{sha}',
+      subscribers_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/subscribers',
+      subscription_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/subscription',
+      tags_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/tags',
+      teams_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/teams',
+      trees_url:
+        'https://api.github.com/repos/gitify-app/notifications-test/git/trees{/sha}',
     },
-    private: true,
-    description: 'Test Repository',
-    fork: false,
-    archive_url:
-      'https://api.github.com/repos/manosim/notifications-test/{archive_format}{/ref}',
-    assignees_url:
-      'https://api.github.com/repos/manosim/notifications-test/assignees{/user}',
-    blobs_url:
-      'https://api.github.com/repos/manosim/notifications-test/git/blobs{/sha}',
-    branches_url:
-      'https://api.github.com/repos/manosim/notifications-test/branches{/branch}',
-    collaborators_url:
-      'https://api.github.com/repos/manosim/notifications-test/collaborators{/collaborator}',
-    comments_url:
-      'https://api.github.com/repos/manosim/notifications-test/comments{/number}',
-    commits_url:
-      'https://api.github.com/repos/manosim/notifications-test/commits{/sha}',
-    compare_url:
-      'https://api.github.com/repos/manosim/notifications-test/compare/{base}...{head}',
-    contents_url:
-      'https://api.github.com/repos/manosim/notifications-test/contents/{+path}',
-    contributors_url:
-      'https://api.github.com/repos/manosim/notifications-test/contributors',
-    deployments_url:
-      'https://api.github.com/repos/manosim/notifications-test/deployments',
-    downloads_url:
-      'https://api.github.com/repos/manosim/notifications-test/downloads',
-    events_url:
-      'https://api.github.com/repos/manosim/notifications-test/events',
-    forks_url: 'https://api.github.com/repos/manosim/notifications-test/forks',
-    git_commits_url:
-      'https://api.github.com/repos/manosim/notifications-test/git/commits{/sha}',
-    git_refs_url:
-      'https://api.github.com/repos/manosim/notifications-test/git/refs{/sha}',
-    git_tags_url:
-      'https://api.github.com/repos/manosim/notifications-test/git/tags{/sha}',
-    hooks_url: 'https://api.github.com/repos/manosim/notifications-test/hooks',
-    html_url: 'https://github.com/manosim/notifications-test',
-    issue_comment_url:
-      'https://api.github.com/repos/manosim/notifications-test/issues/comments{/number}',
-    issue_events_url:
-      'https://api.github.com/repos/manosim/notifications-test/issues/events{/number}',
-    issues_url:
-      'https://api.github.com/repos/manosim/notifications-test/issues{/number}',
-    keys_url:
-      'https://api.github.com/repos/manosim/notifications-test/keys{/key_id}',
-    labels_url:
-      'https://api.github.com/repos/manosim/notifications-test/labels{/name}',
-    languages_url:
-      'https://api.github.com/repos/manosim/notifications-test/languages',
-    merges_url:
-      'https://api.github.com/repos/manosim/notifications-test/merges',
-    milestones_url:
-      'https://api.github.com/repos/manosim/notifications-test/milestones{/number}',
-    notifications_url:
-      'https://api.github.com/repos/manosim/notifications-test/notifications{?since,all,participating}',
-    pulls_url:
-      'https://api.github.com/repos/manosim/notifications-test/pulls{/number}',
-    releases_url:
-      'https://api.github.com/repos/manosim/notifications-test/releases{/id}',
-    stargazers_url:
-      'https://api.github.com/repos/manosim/notifications-test/stargazers',
-    statuses_url:
-      'https://api.github.com/repos/manosim/notifications-test/statuses/{sha}',
-    subscribers_url:
-      'https://api.github.com/repos/manosim/notifications-test/subscribers',
+    url: 'https://api.github.com/notifications/threads/138661096',
     subscription_url:
-      'https://api.github.com/repos/manosim/notifications-test/subscription',
-    tags_url: 'https://api.github.com/repos/manosim/notifications-test/tags',
-    teams_url: 'https://api.github.com/repos/manosim/notifications-test/teams',
-    trees_url:
-      'https://api.github.com/repos/manosim/notifications-test/git/trees{/sha}',
+      'https://api.github.com/notifications/threads/138661096/subscription',
   },
-  url: 'https://api.github.com/notifications/threads/138661096',
-  subscription_url:
-    'https://api.github.com/notifications/threads/138661096/subscription',
-};
-
-// 2 Notifications
-// Repository : 'manosim/notifications-tests'
-export const mockedGitHubNotifications = [
-  mockedSingleNotification,
   {
+    hostname: Constants.GITHUB_API_BASE_URL,
     id: '148827438',
     unread: true,
     reason: 'author',
@@ -209,39 +194,41 @@ export const mockedGitHubNotifications = [
     last_read_at: '2017-05-20T16:59:03Z',
     subject: {
       title: 'Improve the UI',
-      url: 'https://api.github.com/repos/manosim/notifications-test/issues/4',
+      url: 'https://api.github.com/repos/gitify-app/notifications-test/issues/4',
       latest_comment_url:
-        'https://api.github.com/repos/manosim/notifications-test/issues/comments/302885965',
+        'https://api.github.com/repos/gitify-app/notifications-test/issues/comments/302885965',
       type: 'Issue',
     },
     repository: {
       id: 57216596,
       name: 'notifications-test',
-      full_name: 'manosim/notifications-test',
+      full_name: 'gitify-app/notifications-test',
       owner: {
-        login: 'manosim',
+        login: 'gitify-app',
         id: 6333409,
-        avatar_url: 'https://avatars0.githubusercontent.com/u/6333409?v=3',
+        avatar_url:
+          'https://avatars.githubusercontent.com/u/133795385?s=200&v=4',
         gravatar_id: '',
-        url: 'https://api.github.com/users/manosim',
-        html_url: 'https://github.com/manosim',
-        followers_url: 'https://api.github.com/users/manosim/followers',
+        url: 'https://api.github.com/users/gitify-app',
+        html_url: 'https://github.com/gitify-app',
+        followers_url: 'https://api.github.com/users/gitify-app/followers',
         following_url:
-          'https://api.github.com/users/manosim/following{/other_user}',
-        gists_url: 'https://api.github.com/users/manosim/gists{/gist_id}',
+          'https://api.github.com/users/gitify-app/following{/other_user}',
+        gists_url: 'https://api.github.com/users/gitify-app/gists{/gist_id}',
         starred_url:
-          'https://api.github.com/users/manosim/starred{/owner}{/repo}',
-        subscriptions_url: 'https://api.github.com/users/manosim/subscriptions',
-        organizations_url: 'https://api.github.com/users/manosim/orgs',
-        repos_url: 'https://api.github.com/users/manosim/repos',
-        events_url: 'https://api.github.com/users/manosim/events{/privacy}',
+          'https://api.github.com/users/gitify-app/starred{/owner}{/repo}',
+        subscriptions_url:
+          'https://api.github.com/users/gitify-app/subscriptions',
+        organizations_url: 'https://api.github.com/users/gitify-app/orgs',
+        repos_url: 'https://api.github.com/users/gitify-app/repos',
+        events_url: 'https://api.github.com/users/gitify-app/events{/privacy}',
         received_events_url:
-          'https://api.github.com/users/manosim/received_events',
+          'https://api.github.com/users/gitify-app/received_events',
         type: 'User',
         site_admin: false,
       },
       private: true,
-      html_url: 'https://github.com/manosim/notifications-test',
+      html_url: 'https://github.com/gitify-app/notifications-test',
       description: null,
       fork: false,
       // Removed the rest of the properties
@@ -249,24 +236,24 @@ export const mockedGitHubNotifications = [
     url: 'https://api.github.com/notifications/threads/148827438',
     subscription_url:
       'https://api.github.com/notifications/threads/148827438/subscription',
-    hostname: Constants.GITHUB_API_BASE_URL,
-  } as Notification,
+  },
 ];
 
 // 2 Notifications
 // Repository : 'myorg/notifications-test'
-export const mockedEnterpriseNotifications = [
+export const mockedEnterpriseNotifications: Notification[] = [
   {
-    id: '4',
+    hostname: 'https://github.gitify.io/api/v3',
+    id: '3',
     unread: true,
     reason: 'subscribed',
     updated_at: '2017-05-20T13:02:48Z',
     last_read_at: null,
     subject: {
       title: 'Release 0.0.1',
-      url: 'https://github.gitify.io/api/v3/repos/myorg/notifications-test/releases/1',
+      url: 'https://github.gitify.io/api/v3/repos/myorg/notifications-test/releases/3',
       latest_comment_url:
-        'https://github.gitify.io/api/v3/repos/myorg/notifications-test/releases/1',
+        'https://github.gitify.io/api/v3/repos/myorg/notifications-test/releases/3',
       type: 'Release',
     },
     repository: {
@@ -307,16 +294,17 @@ export const mockedEnterpriseNotifications = [
     url: 'https://github.gitify.io/api/v3/notifications/threads/4',
     subscription_url:
       'https://github.gitify.io/api/v3/notifications/threads/4/subscription',
-  } as Notification,
+  },
   {
-    id: '3',
+    hostname: 'https://github.gitify.io/api/v3',
+    id: '4',
     unread: true,
     reason: 'subscribed',
     updated_at: '2017-05-20T15:52:20Z',
     last_read_at: '2017-05-20T14:20:55Z',
     subject: {
       title: 'Bump Version',
-      url: 'https://github.gitify.io/api/v3/repos/myorg/notifications-test/pulls/3',
+      url: 'https://github.gitify.io/api/v3/repos/myorg/notifications-test/pulls/4',
       latest_comment_url:
         'https://github.gitify.io/api/v3/repos/myorg/notifications-test/issues/comments/21',
       type: 'PullRequest',
@@ -359,10 +347,12 @@ export const mockedEnterpriseNotifications = [
     url: 'https://github.gitify.io/api/v3/notifications/threads/3',
     subscription_url:
       'https://github.gitify.io/api/v3/notifications/threads/3/subscription',
-    hostname: Constants.GITHUB_API_BASE_URL,
-  } as Notification,
+  },
 ];
 
+export const mockedSingleNotification: Notification =
+  mockedGitHubNotifications[0];
+
 export const mockedAccountNotifications: AccountNotifications[] = [
   {
     hostname: 'github.com',
@@ -381,17 +371,26 @@ export const mockedSingleAccountNotifications: AccountNotifications[] = [
   },
 ];
 
-const mockDiscussionComments: DiscussionComments = {
+const mockDiscussionAuthor: DiscussionAuthor = {
+  login: 'comment-user',
+  url: 'https://github.com/comment-user',
+  avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
+  type: 'User',
+};
+
+const mockDiscussionReplier: DiscussionAuthor = {
+  login: 'reply-user',
+  url: 'https://github.com/reply-user',
+  avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
+  type: 'User',
+};
+
+export const mockDiscussionComments: DiscussionComments = {
   nodes: [
     {
       databaseId: 2215656,
       createdAt: '2022-02-20T18:33:39Z',
-      author: {
-        login: 'comment-user',
-        url: 'https://github.com/comment-user',
-        avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
-        type: 'User',
-      },
+      author: mockDiscussionAuthor,
       replies: {
         nodes: [],
       },
@@ -399,12 +398,7 @@ const mockDiscussionComments: DiscussionComments = {
     {
       databaseId: 2217789,
       createdAt: '2022-02-21T03:30:42Z',
-      author: {
-        login: 'comment-user',
-        url: 'https://github.com/comment-user',
-        avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
-        type: 'User',
-      },
+      author: mockDiscussionAuthor,
       replies: {
         nodes: [],
       },
@@ -412,24 +406,13 @@ const mockDiscussionComments: DiscussionComments = {
     {
       databaseId: 2223243,
       createdAt: '2022-02-21T18:26:27Z',
-      author: {
-        login: 'comment-user',
-        url: 'https://github.com/comment-user',
-        avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
-        type: 'User',
-      },
+      author: mockDiscussionAuthor,
       replies: {
         nodes: [
           {
             databaseId: 2232922,
             createdAt: '2022-02-23T00:57:58Z',
-            author: {
-              login: 'reply-user',
-              url: 'https://github.com/reply-user',
-              avatar_url:
-                'https://avatars.githubusercontent.com/u/123456789?v=4',
-              type: 'User',
-            },
+            author: mockDiscussionReplier,
           },
         ],
       },
@@ -437,12 +420,7 @@ const mockDiscussionComments: DiscussionComments = {
     {
       databaseId: 2232921,
       createdAt: '2022-02-23T00:57:49Z',
-      author: {
-        login: 'comment-user',
-        url: 'https://github.com/comment-user',
-        avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
-        type: 'User',
-      },
+      author: mockDiscussionAuthor,
       replies: {
         nodes: [],
       },
@@ -450,24 +428,13 @@ const mockDiscussionComments: DiscussionComments = {
     {
       databaseId: 2258799,
       createdAt: '2022-02-27T01:22:20Z',
-      author: {
-        login: 'comment-user',
-        url: 'https://github.com/comment-user',
-        avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
-        type: 'User',
-      },
+      author: mockDiscussionAuthor,
       replies: {
         nodes: [
           {
             databaseId: 2300902,
             createdAt: '2022-03-05T17:43:52Z',
-            author: {
-              login: 'reply-user',
-              url: 'https://github.com/reply-user',
-              avatar_url:
-                'https://avatars.githubusercontent.com/u/123456789?v=4',
-              type: 'User',
-            },
+            author: mockDiscussionReplier,
           },
         ],
       },
@@ -475,25 +442,14 @@ const mockDiscussionComments: DiscussionComments = {
     {
       databaseId: 2297637,
       createdAt: '2022-03-04T20:39:44Z',
-      author: {
-        login: 'comment-user',
-        url: 'https://github.com/comment-user',
-        avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
-        type: 'User',
-      },
+      author: mockDiscussionAuthor,
 
       replies: {
         nodes: [
           {
             databaseId: 2300893,
             createdAt: '2022-03-05T17:41:04Z',
-            author: {
-              login: 'reply-user',
-              url: 'https://github.com/reply-user',
-              avatar_url:
-                'https://avatars.githubusercontent.com/u/123456789?v=4',
-              type: 'User',
-            },
+            author: mockDiscussionReplier,
           },
         ],
       },
@@ -501,24 +457,13 @@ const mockDiscussionComments: DiscussionComments = {
     {
       databaseId: 2299763,
       createdAt: '2022-03-05T11:05:42Z',
-      author: {
-        login: 'comment-user',
-        url: 'https://github.com/comment-user',
-        avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
-        type: 'User',
-      },
+      author: mockDiscussionAuthor,
       replies: {
         nodes: [
           {
             databaseId: 2300895,
             createdAt: '2022-03-05T17:41:44Z',
-            author: {
-              login: 'reply-user',
-              url: 'https://github.com/reply-user',
-              avatar_url:
-                'https://avatars.githubusercontent.com/u/123456789?v=4',
-              type: 'User',
-            },
+            author: mockDiscussionReplier,
           },
         ],
       },
@@ -536,7 +481,7 @@ export const mockedGraphQLResponse: GraphQLSearch<Discussion> = {
             title: '1.16.0',
             isAnswered: false,
             stateReason: 'OPEN',
-            url: 'https://github.com/manosim/notifications-test/discussions/612',
+            url: 'https://github.com/gitify-app/notifications-test/discussions/612',
             author: {
               login: 'discussion-creator',
               url: 'https://github.com/discussion-creator',
@@ -551,7 +496,7 @@ export const mockedGraphQLResponse: GraphQLSearch<Discussion> = {
             title: '1.16.0',
             isAnswered: false,
             stateReason: 'ANSWERED',
-            url: 'https://github.com/manosim/notifications-test/discussions/123',
+            url: 'https://github.com/gitify-app/notifications-test/discussions/123',
             author: {
               login: 'discussion-creator',
               url: 'https://github.com/discussion-creator',
diff --git a/src/typesGitHub.ts b/src/typesGitHub.ts
index 4e5327d0..19fce056 100644
--- a/src/typesGitHub.ts
+++ b/src/typesGitHub.ts
@@ -39,6 +39,13 @@ export type IssueStateType = 'closed' | 'open';
 
 export type IssueStateReasonType = 'completed' | 'not_planned' | 'reopened';
 
+export type UserType =
+  | 'Bot'
+  | 'EnterpriseUserAccount'
+  | 'Mannequin'
+  | 'Organization'
+  | 'User';
+
 /**
  * Note: draft and merged are not official states in the GitHub API.
  * These are derived from the pull request's `merged` and `draft` properties.
@@ -133,7 +140,7 @@ export interface User {
   repos_url: string;
   events_url: string;
   received_events_url: string;
-  type: string;
+  type: UserType;
   site_admin: boolean;
 }
 
@@ -141,14 +148,14 @@ export interface SubjectUser {
   login: string;
   html_url: string;
   avatar_url: string;
-  type: string;
+  type: UserType;
 }
 
 export interface DiscussionAuthor {
   login: string;
   url: string;
   avatar_url: string;
-  type: string;
+  type: UserType;
 }
 
 export interface Repository {
diff --git a/src/utils/subject.ts b/src/utils/subject.ts
index 0a49fc31..dbf45ada 100644
--- a/src/utils/subject.ts
+++ b/src/utils/subject.ts
@@ -23,23 +23,30 @@ export async function getGitifySubjectDetails(
   notification: Notification,
   token: string,
 ): Promise<GitifySubject> {
-  switch (notification.subject.type) {
-    case 'CheckSuite':
-      return getGitifySubjectForCheckSuite(notification);
-    case 'Commit':
-      return getGitifySubjectForCommit(notification, token);
-    case 'Discussion':
-      return await getGitifySubjectForDiscussion(notification, token);
-    case 'Issue':
-      return await getGitifySubjectForIssue(notification, token);
-    case 'PullRequest':
-      return await getGitifySubjectForPullRequest(notification, token);
-    case 'Release':
-      return await getGitifySubjectForRelease(notification, token);
-    case 'WorkflowRun':
-      return getGitifySubjectForWorkflowRun(notification);
-    default:
-      return null;
+  try {
+    switch (notification.subject.type) {
+      case 'CheckSuite':
+        return getGitifySubjectForCheckSuite(notification);
+      case 'Commit':
+        return getGitifySubjectForCommit(notification, token);
+      case 'Discussion':
+        return await getGitifySubjectForDiscussion(notification, token);
+      case 'Issue':
+        return await getGitifySubjectForIssue(notification, token);
+      case 'PullRequest':
+        return await getGitifySubjectForPullRequest(notification, token);
+      case 'Release':
+        return await getGitifySubjectForRelease(notification, token);
+      case 'WorkflowRun':
+        return getGitifySubjectForWorkflowRun(notification);
+      default:
+        return null;
+    }
+  } catch (err) {
+    console.error(
+      `Error occurred while fetching details for ${notification.subject.type} notification: ${notification.subject.title}`,
+      err,
+    );
   }
 }
 
@@ -106,33 +113,29 @@ async function getGitifySubjectForCommit(
   notification: Notification,
   token: string,
 ): Promise<GitifySubject> {
-  try {
-    let user: User;
+  let user: User;
 
-    if (notification.subject.latest_comment_url) {
-      const commitComment = (
-        await getCommitComment(notification.subject.latest_comment_url, token)
-      ).data;
+  if (notification.subject.latest_comment_url) {
+    const commitComment = (
+      await getCommitComment(notification.subject.latest_comment_url, token)
+    ).data;
 
-      user = commitComment.user;
-    } else {
-      const commit = (await getCommit(notification.subject.url, token)).data;
+    user = commitComment.user;
+  } else {
+    const commit = (await getCommit(notification.subject.url, token)).data;
 
-      user = commit.author;
-    }
-
-    return {
-      state: null,
-      user: {
-        login: user.login,
-        html_url: user.html_url,
-        avatar_url: user.avatar_url,
-        type: user.type,
-      },
-    };
-  } catch (err) {
-    console.error('Commit subject retrieval failed');
+    user = commit.author;
   }
+
+  return {
+    state: null,
+    user: {
+      login: user.login,
+      html_url: user.html_url,
+      avatar_url: user.avatar_url,
+      type: user.type,
+    },
+  };
 }
 
 async function getGitifySubjectForDiscussion(
@@ -181,73 +184,65 @@ async function getGitifySubjectForIssue(
   notification: Notification,
   token: string,
 ): Promise<GitifySubject> {
-  try {
-    const issue = (await getIssue(notification.subject.url, token)).data;
-
-    let issueCommentUser: User;
-
-    if (notification.subject.latest_comment_url) {
-      const issueComment = (
-        await getIssueOrPullRequestComment(
-          notification.subject.latest_comment_url,
-          token,
-        )
-      ).data;
-      issueCommentUser = issueComment.user;
-    }
-
-    return {
-      state: issue.state_reason ?? issue.state,
-      user: {
-        login: issueCommentUser?.login ?? issue.user.login,
-        html_url: issueCommentUser?.html_url ?? issue.user.html_url,
-        avatar_url: issueCommentUser?.avatar_url ?? issue.user.avatar_url,
-        type: issueCommentUser?.type ?? issue.user.type,
-      },
-    };
-  } catch (err) {
-    console.error('Issue subject retrieval failed');
+  const issue = (await getIssue(notification.subject.url, token)).data;
+
+  let issueCommentUser: User;
+
+  if (notification.subject.latest_comment_url) {
+    const issueComment = (
+      await getIssueOrPullRequestComment(
+        notification.subject.latest_comment_url,
+        token,
+      )
+    ).data;
+    issueCommentUser = issueComment.user;
   }
+
+  return {
+    state: issue.state_reason ?? issue.state,
+    user: {
+      login: issueCommentUser?.login ?? issue.user.login,
+      html_url: issueCommentUser?.html_url ?? issue.user.html_url,
+      avatar_url: issueCommentUser?.avatar_url ?? issue.user.avatar_url,
+      type: issueCommentUser?.type ?? issue.user.type,
+    },
+  };
 }
 
 async function getGitifySubjectForPullRequest(
   notification: Notification,
   token: string,
 ): Promise<GitifySubject> {
-  try {
-    const pr = (await getPullRequest(notification.subject.url, token)).data;
-
-    let prState: PullRequestStateType = pr.state;
-    if (pr.merged) {
-      prState = 'merged';
-    } else if (pr.draft) {
-      prState = 'draft';
-    }
+  const pr = (await getPullRequest(notification.subject.url, token)).data;
 
-    let prCommentUser: User;
+  let prState: PullRequestStateType = pr.state;
+  if (pr.merged) {
+    prState = 'merged';
+  } else if (pr.draft) {
+    prState = 'draft';
+  }
 
-    if (notification.subject.latest_comment_url) {
-      const prComment = (
-        await getIssueOrPullRequestComment(
-          notification.subject.latest_comment_url,
-          token,
-        )
-      ).data;
-      prCommentUser = prComment.user;
-    }
+  let prCommentUser: User;
 
-    return {
-      state: prState,
-      user: {
-        login: prCommentUser?.login ?? pr.user.login,
-        html_url: prCommentUser?.html_url ?? pr.user.html_url,
-        avatar_url: prCommentUser?.avatar_url ?? pr.user.avatar_url,
-        type: prCommentUser?.type ?? pr.user.type,
-      },
-    };
-  } catch (err) {
-    console.error('Pull Request subject retrieval failed');
+  if (notification.subject.latest_comment_url) {
+    const prComment = (
+      await getIssueOrPullRequestComment(
+        notification.subject.latest_comment_url,
+        token,
+      )
+    ).data;
+    prCommentUser = prComment.user;
   }
+
+  return {
+    state: prState,
+    user: {
+      login: prCommentUser?.login ?? pr.user.login,
+      html_url: prCommentUser?.html_url ?? pr.user.html_url,
+      avatar_url: prCommentUser?.avatar_url ?? pr.user.avatar_url,
+      type: prCommentUser?.type ?? pr.user.type,
+    },
+  };
 }
 
 async function getGitifySubjectForRelease(
diff --git a/src/utils/theme.ts b/src/utils/theme.ts
index 42bac595..abb3ac22 100644
--- a/src/utils/theme.ts
+++ b/src/utils/theme.ts
@@ -8,11 +8,13 @@ export function getTheme(): Theme {
   return Theme.LIGHT;
 }
 
-export const setLightMode = () =>
+export const setLightMode = () => {
   document.querySelector('html').classList.remove('dark');
+};
 
-export const setDarkMode = () =>
+export const setDarkMode = () => {
   document.querySelector('html').classList.add('dark');
+};
 
 export const setTheme = (mode?: Theme) => {
   switch (mode) {


Test patch:
diff --git a/src/components/NotificationRow.test.tsx b/src/components/NotificationRow.test.tsx
index 016f86fb..44718c46 100644
--- a/src/components/NotificationRow.test.tsx
+++ b/src/components/NotificationRow.test.tsx
@@ -8,6 +8,7 @@ import { shell } from 'electron';
 import { mockAccounts, mockSettings } from '../__mocks__/mock-state';
 import { mockedSingleNotification } from '../__mocks__/mockedData';
 import { AppContext } from '../context/App';
+import type { UserType } from '../typesGitHub';
 import { NotificationRow } from './NotificationRow';
 
 describe('components/NotificationRow.tsx', () => {
@@ -50,7 +51,7 @@ describe('components/NotificationRow.tsx', () => {
     expect(tree).toMatchSnapshot();
   });
 
-  it('should open a notification in the browser', () => {
+  it('should open a notification in the browser - click', () => {
     const removeNotificationFromState = jest.fn();
 
     const props = {
@@ -75,6 +76,31 @@ describe('components/NotificationRow.tsx', () => {
     expect(removeNotificationFromState).toHaveBeenCalledTimes(1);
   });
 
+  it('should open a notification in the browser - key down', () => {
+    const removeNotificationFromState = jest.fn();
+
+    const props = {
+      notification: mockedSingleNotification,
+      hostname: 'github.com',
+    };
+
+    render(
+      <AppContext.Provider
+        value={{
+          settings: { ...mockSettings, markAsDoneOnOpen: false },
+          removeNotificationFromState,
+          accounts: mockAccounts,
+        }}
+      >
+        <NotificationRow {...props} />
+      </AppContext.Provider>,
+    );
+
+    fireEvent.keyDown(screen.getByRole('main'));
+    expect(helpers.openInBrowser).toHaveBeenCalledTimes(1);
+    expect(removeNotificationFromState).toHaveBeenCalledTimes(1);
+  });
+
   it('should open a notification in browser & mark it as done', () => {
     const markNotificationDone = jest.fn();
 
@@ -179,7 +205,7 @@ describe('components/NotificationRow.tsx', () => {
             login: 'some-user',
             html_url: 'https://github.com/some-user',
             avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
-            type: 'User',
+            type: 'User' as UserType,
           },
         },
       },
diff --git a/src/components/Repository.test.tsx b/src/components/Repository.test.tsx
index e7d15412..03bac4f6 100644
--- a/src/components/Repository.test.tsx
+++ b/src/components/Repository.test.tsx
@@ -15,7 +15,7 @@ describe('components/Repository.tsx', () => {
 
   const props = {
     hostname: 'github.com',
-    repoName: 'manosim/gitify',
+    repoName: 'gitify-app/notifications-test',
     repoNotifications: mockedGitHubNotifications,
   };
 
@@ -45,7 +45,7 @@ describe('components/Repository.tsx', () => {
 
     expect(shell.openExternal).toHaveBeenCalledTimes(1);
     expect(shell.openExternal).toHaveBeenCalledWith(
-      'https://github.com/manosim/notifications-test',
+      'https://github.com/gitify-app/notifications-test',
     );
   });
 
@@ -59,7 +59,7 @@ describe('components/Repository.tsx', () => {
     fireEvent.click(screen.getByTitle('Mark Repository as Read'));
 
     expect(markRepoNotifications).toHaveBeenCalledWith(
-      'manosim/notifications-test',
+      'gitify-app/notifications-test',
       'github.com',
     );
   });
@@ -74,7 +74,7 @@ describe('components/Repository.tsx', () => {
     fireEvent.click(screen.getByTitle('Mark Repository as Done'));
 
     expect(markRepoNotificationsDone).toHaveBeenCalledWith(
-      'manosim/notifications-test',
+      'gitify-app/notifications-test',
       'github.com',
     );
   });
diff --git a/src/components/__snapshots__/NotificationRow.test.tsx.snap b/src/components/__snapshots__/NotificationRow.test.tsx.snap
index b27ecc8f..640cc496 100644
--- a/src/components/__snapshots__/NotificationRow.test.tsx.snap
+++ b/src/components/__snapshots__/NotificationRow.test.tsx.snap
@@ -54,7 +54,7 @@ exports[`components/NotificationRow.tsx should render itself & its children 1`]
       >
         <span
           className="flex"
-          title="manosim updated over 6 years ago"
+          title="gitify-app updated over 6 years ago"
         >
           <span
             onClick={[Function]}
@@ -62,10 +62,10 @@ exports[`components/NotificationRow.tsx should render itself & its children 1`]
             title="View User Profile"
           >
             <img
-              alt="manosim's avatar"
+              alt="gitify-app's avatar"
               className="rounded-full w-4 h-4 cursor-pointer"
-              src="https://avatars0.githubusercontent.com/u/6333409?v=3"
-              title="manosim"
+              src="https://avatars.githubusercontent.com/u/133795385?s=200&v=4"
+              title="gitify-app"
             />
           </span>
           <span
diff --git a/src/components/__snapshots__/Repository.test.tsx.snap b/src/components/__snapshots__/Repository.test.tsx.snap
index 557a6c18..8f294df7 100644
--- a/src/components/__snapshots__/Repository.test.tsx.snap
+++ b/src/components/__snapshots__/Repository.test.tsx.snap
@@ -9,16 +9,16 @@ exports[`components/Repository.tsx should render itself & its children 1`] = `
       className="flex flex-1 space-x-3 items-center mt-0 text-sm font-medium overflow-hidden overflow-ellipsis whitespace-nowrap"
     >
       <img
-        alt="manosim/notifications-test's avatar"
+        alt="gitify-app/notifications-test's avatar"
         className="rounded w-5 h-5"
-        src="https://avatars0.githubusercontent.com/u/6333409?v=3"
+        src="https://avatars.githubusercontent.com/u/133795385?s=200&v=4"
       />
       <span
         className="cursor-pointer"
         onClick={[Function]}
         onKeyDown={[Function]}
       >
-        manosim/gitify
+        gitify-app/notifications-test
       </span>
     </div>
     <div
@@ -132,7 +132,7 @@ exports[`components/Repository.tsx should use default repository icon when avata
         onClick={[Function]}
         onKeyDown={[Function]}
       >
-        manosim/gitify
+        gitify-app/notifications-test
       </span>
     </div>
     <div
diff --git a/src/context/App.test.tsx b/src/context/App.test.tsx
index 6e004344..cfdbc0c1 100644
--- a/src/context/App.test.tsx
+++ b/src/context/App.test.tsx
@@ -201,7 +201,10 @@ describe('context/App.tsx', () => {
           <button
             type="button"
             onClick={() =>
-              markRepoNotifications('manosim/gitify', 'github.com')
+              markRepoNotifications(
+                'gitify-app/notifications-test',
+                'github.com',
+              )
             }
           >
             Test Case
@@ -218,7 +221,7 @@ describe('context/App.tsx', () => {
       expect(markRepoNotificationsMock).toHaveBeenCalledTimes(1);
       expect(markRepoNotificationsMock).toHaveBeenCalledWith(
         { enterpriseAccounts: [], token: null, user: null },
-        'manosim/gitify',
+        'gitify-app/notifications-test',
         'github.com',
       );
     });
diff --git a/src/hooks/useNotifications.test.ts b/src/hooks/useNotifications.test.ts
index 0ac0ae07..722217d8 100644
--- a/src/hooks/useNotifications.test.ts
+++ b/src/hooks/useNotifications.test.ts
@@ -239,7 +239,7 @@ describe('hooks/useNotifications.ts', () => {
               latest_comment_url: null,
             },
             repository: {
-              full_name: 'some/repo',
+              full_name: 'gitify-app/notifications-test',
             },
           },
           {
@@ -251,7 +251,7 @@ describe('hooks/useNotifications.ts', () => {
               latest_comment_url: null,
             },
             repository: {
-              full_name: 'some/repo',
+              full_name: 'gitify-app/notifications-test',
             },
             updated_at: '2024-02-26T00:00:00Z',
           },
@@ -260,11 +260,12 @@ describe('hooks/useNotifications.ts', () => {
             subject: {
               title: 'This is an Issue.',
               type: 'Issue',
-              url: 'https://api.github.com/3',
-              latest_comment_url: 'https://api.github.com/3/comments',
+              url: 'https://api.github.com/repos/gitify-app/notifications-test/issues/3',
+              latest_comment_url:
+                'https://api.github.com/repos/gitify-app/notifications-test/issues/3/comments',
             },
             repository: {
-              full_name: 'some/repo',
+              full_name: 'gitify-app/notifications-test',
             },
           },
           {
@@ -272,11 +273,12 @@ describe('hooks/useNotifications.ts', () => {
             subject: {
               title: 'This is a Pull Request.',
               type: 'PullRequest',
-              url: 'https://api.github.com/4',
-              latest_comment_url: 'https://api.github.com/4/comments',
+              url: 'https://api.github.com/repos/gitify-app/notifications-test/pulls/4',
+              latest_comment_url:
+                'https://api.github.com/repos/gitify-app/notifications-test/issues/4/comments',
             },
             repository: {
-              full_name: 'some/repo',
+              full_name: 'gitify-app/notifications-test',
             },
           },
           {
@@ -288,7 +290,7 @@ describe('hooks/useNotifications.ts', () => {
               latest_comment_url: null,
             },
             repository: {
-              full_name: 'some/repo',
+              full_name: 'gitify-app/notifications-test',
             },
           },
           {
@@ -300,7 +302,7 @@ describe('hooks/useNotifications.ts', () => {
               latest_comment_url: null,
             },
             repository: {
-              full_name: 'some/repo',
+              full_name: 'gitify-app/notifications-test',
             },
           },
         ];
@@ -320,12 +322,12 @@ describe('hooks/useNotifications.ts', () => {
                     viewerSubscription: 'SUBSCRIBED',
                     stateReason: null,
                     isAnswered: true,
-                    url: 'https://github.com/manosim/notifications-test/discussions/612',
+                    url: 'https://github.com/gitify-app/notifications-test/discussions/612',
                     author: {
                       login: 'discussion-creator',
                       url: 'https://github.com/discussion-creator',
                       avatar_url:
-                        'https://avatars.githubusercontent.com/u/1?v=4',
+                        'https://avatars.githubusercontent.com/u/133795385?s=200&v=4',
                       type: 'User',
                     },
                     comments: {
@@ -352,22 +354,30 @@ describe('hooks/useNotifications.ts', () => {
             },
           });
 
-        nock('https://api.github.com').get('/3').reply(200, {
-          state: 'closed',
-          merged: true,
-          user: mockedNotificationUser,
-        });
-        nock('https://api.github.com').get('/3/comments').reply(200, {
-          user: mockedNotificationUser,
-        });
-        nock('https://api.github.com').get('/4').reply(200, {
-          state: 'closed',
-          merged: false,
-          user: mockedNotificationUser,
-        });
-        nock('https://api.github.com').get('/4/comments').reply(200, {
-          user: mockedNotificationUser,
-        });
+        nock('https://api.github.com')
+          .get('/repos/gitify-app/notifications-test/issues/3')
+          .reply(200, {
+            state: 'closed',
+            merged: true,
+            user: mockedNotificationUser,
+          });
+        nock('https://api.github.com')
+          .get('/repos/gitify-app/notifications-test/issues/3/comments')
+          .reply(200, {
+            user: mockedNotificationUser,
+          });
+        nock('https://api.github.com')
+          .get('/repos/gitify-app/notifications-test/pulls/4')
+          .reply(200, {
+            state: 'closed',
+            merged: false,
+            user: mockedNotificationUser,
+          });
+        nock('https://api.github.com')
+          .get('/repos/gitify-app/notifications-test/issues/4/comments')
+          .reply(200, {
+            user: mockedNotificationUser,
+          });
 
         const { result } = renderHook(() => useNotifications());
 
@@ -403,11 +413,11 @@ describe('hooks/useNotifications.ts', () => {
             subject: {
               title: 'This is an Issue.',
               type: 'Issue',
-              url: 'https://api.github.com/1',
+              url: 'https://api.github.com/repos/gitify-app/notifications-test/issues/1',
               latest_comment_url: null,
             },
             repository: {
-              full_name: 'some/repo',
+              full_name: 'gitify-app/notifications-test',
             },
           },
           {
@@ -415,11 +425,11 @@ describe('hooks/useNotifications.ts', () => {
             subject: {
               title: 'This is a Pull Request.',
               type: 'PullRequest',
-              url: 'https://api.github.com/2',
+              url: 'https://api.github.com/repos/gitify-app/notifications-test/pulls/2',
               latest_comment_url: null,
             },
             repository: {
-              full_name: 'some/repo',
+              full_name: 'gitify-app/notifications-test',
             },
           },
         ];
@@ -428,7 +438,7 @@ describe('hooks/useNotifications.ts', () => {
           .get('/notifications?participating=false')
           .reply(200, notifications);
         nock('https://api.github.com')
-          .get('/1')
+          .get('/repos/gitify-app/notifications-test/issues/1')
           .reply(200, {
             state: 'closed',
             merged: true,
@@ -438,7 +448,7 @@ describe('hooks/useNotifications.ts', () => {
             },
           });
         nock('https://api.github.com')
-          .get('/2')
+          .get('/repos/gitify-app/notifications-test/pulls/2')
           .reply(200, {
             state: 'closed',
             merged: false,
@@ -789,7 +799,7 @@ describe('hooks/useNotifications.ts', () => {
   });
 
   describe('markRepoNotifications', () => {
-    const repoSlug = 'manosim/gitify';
+    const repoSlug = 'gitify-app/notifications-test';
 
     describe('github.com', () => {
       const accounts = { ...mockAccounts, enterpriseAccounts: [] };
@@ -875,7 +885,7 @@ describe('hooks/useNotifications.ts', () => {
   });
 
   describe('markRepoNotificationsDone', () => {
-    const repoSlug = 'manosim/gitify';
+    const repoSlug = 'gitify-app/notifications-test';
     const id = 'notification-123';
 
     describe('github.com', () => {
diff --git a/src/routes/__snapshots__/Notifications.test.tsx.snap b/src/routes/__snapshots__/Notifications.test.tsx.snap
index 1b3221ce..16d2d9b6 100644
--- a/src/routes/__snapshots__/Notifications.test.tsx.snap
+++ b/src/routes/__snapshots__/Notifications.test.tsx.snap
@@ -104,82 +104,82 @@ exports[`routes/Notifications.tsx should render itself & its children (show acco
           "last_read_at": "2017-05-20T17:06:51Z",
           "reason": "subscribed",
           "repository": {
-            "archive_url": "https://api.github.com/repos/manosim/notifications-test/{archive_format}{/ref}",
-            "assignees_url": "https://api.github.com/repos/manosim/notifications-test/assignees{/user}",
-            "blobs_url": "https://api.github.com/repos/manosim/notifications-test/git/blobs{/sha}",
-            "branches_url": "https://api.github.com/repos/manosim/notifications-test/branches{/branch}",
-            "collaborators_url": "https://api.github.com/repos/manosim/notifications-test/collaborators{/collaborator}",
-            "comments_url": "https://api.github.com/repos/manosim/notifications-test/comments{/number}",
-            "commits_url": "https://api.github.com/repos/manosim/notifications-test/commits{/sha}",
-            "compare_url": "https://api.github.com/repos/manosim/notifications-test/compare/{base}...{head}",
-            "contents_url": "https://api.github.com/repos/manosim/notifications-test/contents/{+path}",
-            "contributors_url": "https://api.github.com/repos/manosim/notifications-test/contributors",
-            "deployments_url": "https://api.github.com/repos/manosim/notifications-test/deployments",
+            "archive_url": "https://api.github.com/repos/gitify-app/notifications-test/{archive_format}{/ref}",
+            "assignees_url": "https://api.github.com/repos/gitify-app/notifications-test/assignees{/user}",
+            "blobs_url": "https://api.github.com/repos/gitify-app/notifications-test/git/blobs{/sha}",
+            "branches_url": "https://api.github.com/repos/gitify-app/notifications-test/branches{/branch}",
+            "collaborators_url": "https://api.github.com/repos/gitify-app/notifications-test/collaborators{/collaborator}",
+            "comments_url": "https://api.github.com/repos/gitify-app/notifications-test/comments{/number}",
+            "commits_url": "https://api.github.com/repos/gitify-app/notifications-test/commits{/sha}",
+            "compare_url": "https://api.github.com/repos/gitify-app/notifications-test/compare/{base}...{head}",
+            "contents_url": "https://api.github.com/repos/gitify-app/notifications-test/contents/{+path}",
+            "contributors_url": "https://api.github.com/repos/gitify-app/notifications-test/contributors",
+            "deployments_url": "https://api.github.com/repos/gitify-app/notifications-test/deployments",
             "description": "Test Repository",
-            "downloads_url": "https://api.github.com/repos/manosim/notifications-test/downloads",
-            "events_url": "https://api.github.com/repos/manosim/notifications-test/events",
+            "downloads_url": "https://api.github.com/repos/gitify-app/notifications-test/downloads",
+            "events_url": "https://api.github.com/repos/gitify-app/notifications-test/events",
             "fork": false,
-            "forks_url": "https://api.github.com/repos/manosim/notifications-test/forks",
-            "full_name": "manosim/notifications-test",
-            "git_commits_url": "https://api.github.com/repos/manosim/notifications-test/git/commits{/sha}",
-            "git_refs_url": "https://api.github.com/repos/manosim/notifications-test/git/refs{/sha}",
-            "git_tags_url": "https://api.github.com/repos/manosim/notifications-test/git/tags{/sha}",
-            "hooks_url": "https://api.github.com/repos/manosim/notifications-test/hooks",
-            "html_url": "https://github.com/manosim/notifications-test",
+            "forks_url": "https://api.github.com/repos/gitify-app/notifications-test/forks",
+            "full_name": "gitify-app/notifications-test",
+            "git_commits_url": "https://api.github.com/repos/gitify-app/notifications-test/git/commits{/sha}",
+            "git_refs_url": "https://api.github.com/repos/gitify-app/notifications-test/git/refs{/sha}",
+            "git_tags_url": "https://api.github.com/repos/gitify-app/notifications-test/git/tags{/sha}",
+            "hooks_url": "https://api.github.com/repos/gitify-app/notifications-test/hooks",
+            "html_url": "https://github.com/gitify-app/notifications-test",
             "id": 57216596,
-            "issue_comment_url": "https://api.github.com/repos/manosim/notifications-test/issues/comments{/number}",
-            "issue_events_url": "https://api.github.com/repos/manosim/notifications-test/issues/events{/number}",
-            "issues_url": "https://api.github.com/repos/manosim/notifications-test/issues{/number}",
-            "keys_url": "https://api.github.com/repos/manosim/notifications-test/keys{/key_id}",
-            "labels_url": "https://api.github.com/repos/manosim/notifications-test/labels{/name}",
-            "languages_url": "https://api.github.com/repos/manosim/notifications-test/languages",
-            "merges_url": "https://api.github.com/repos/manosim/notifications-test/merges",
-            "milestones_url": "https://api.github.com/repos/manosim/notifications-test/milestones{/number}",
+            "issue_comment_url": "https://api.github.com/repos/gitify-app/notifications-test/issues/comments{/number}",
+            "issue_events_url": "https://api.github.com/repos/gitify-app/notifications-test/issues/events{/number}",
+            "issues_url": "https://api.github.com/repos/gitify-app/notifications-test/issues{/number}",
+            "keys_url": "https://api.github.com/repos/gitify-app/notifications-test/keys{/key_id}",
+            "labels_url": "https://api.github.com/repos/gitify-app/notifications-test/labels{/name}",
+            "languages_url": "https://api.github.com/repos/gitify-app/notifications-test/languages",
+            "merges_url": "https://api.github.com/repos/gitify-app/notifications-test/merges",
+            "milestones_url": "https://api.github.com/repos/gitify-app/notifications-test/milestones{/number}",
             "name": "notifications-test",
             "node_id": "MDEwOlJlcG9zaXRvcnkzNjAyOTcwNg==",
-            "notifications_url": "https://api.github.com/repos/manosim/notifications-test/notifications{?since,all,participating}",
+            "notifications_url": "https://api.github.com/repos/gitify-app/notifications-test/notifications{?since,all,participating}",
             "owner": {
-              "avatar_url": "https://avatars0.githubusercontent.com/u/6333409?v=3",
-              "events_url": "https://api.github.com/users/manosim/events{/privacy}",
-              "followers_url": "https://api.github.com/users/manosim/followers",
-              "following_url": "https://api.github.com/users/manosim/following{/other_user}",
-              "gists_url": "https://api.github.com/users/manosim/gists{/gist_id}",
+              "avatar_url": "https://avatars.githubusercontent.com/u/133795385?s=200&v=4",
+              "events_url": "https://api.github.com/users/gitify-app/events{/privacy}",
+              "followers_url": "https://api.github.com/users/gitify-app/followers",
+              "following_url": "https://api.github.com/users/gitify-app/following{/other_user}",
+              "gists_url": "https://api.github.com/users/gitify-app/gists{/gist_id}",
               "gravatar_id": "",
-              "html_url": "https://github.com/manosim",
+              "html_url": "https://github.com/gitify-app",
               "id": 6333409,
-              "login": "manosim",
+              "login": "gitify-app",
               "node_id": "MDQ6VXNlcjYzMzM0MDk=",
-              "organizations_url": "https://api.github.com/users/manosim/orgs",
-              "received_events_url": "https://api.github.com/users/manosim/received_events",
-              "repos_url": "https://api.github.com/users/manosim/repos",
+              "organizations_url": "https://api.github.com/users/gitify-app/orgs",
+              "received_events_url": "https://api.github.com/users/gitify-app/received_events",
+              "repos_url": "https://api.github.com/users/gitify-app/repos",
               "site_admin": false,
-              "starred_url": "https://api.github.com/users/manosim/starred{/owner}{/repo}",
-              "subscriptions_url": "https://api.github.com/users/manosim/subscriptions",
+              "starred_url": "https://api.github.com/users/gitify-app/starred{/owner}{/repo}",
+              "subscriptions_url": "https://api.github.com/users/gitify-app/subscriptions",
               "type": "User",
-              "url": "https://api.github.com/users/manosim",
+              "url": "https://api.github.com/users/gitify-app",
             },
             "private": true,
-            "pulls_url": "https://api.github.com/repos/manosim/notifications-test/pulls{/number}",
-            "releases_url": "https://api.github.com/repos/manosim/notifications-test/releases{/id}",
-            "stargazers_url": "https://api.github.com/repos/manosim/notifications-test/stargazers",
-            "statuses_url": "https://api.github.com/repos/manosim/notifications-test/statuses/{sha}",
-            "subscribers_url": "https://api.github.com/repos/manosim/notifications-test/subscribers",
-            "subscription_url": "https://api.github.com/repos/manosim/notifications-test/subscription",
-            "tags_url": "https://api.github.com/repos/manosim/notifications-test/tags",
-            "teams_url": "https://api.github.com/repos/manosim/notifications-test/teams",
-            "trees_url": "https://api.github.com/repos/manosim/notifications-test/git/trees{/sha}",
-            "url": "https://api.github.com/manosim/notifications-test",
+            "pulls_url": "https://api.github.com/repos/gitify-app/notifications-test/pulls{/number}",
+            "releases_url": "https://api.github.com/repos/gitify-app/notifications-test/releases{/id}",
+            "stargazers_url": "https://api.github.com/repos/gitify-app/notifications-test/stargazers",
+            "statuses_url": "https://api.github.com/repos/gitify-app/notifications-test/statuses/{sha}",
+            "subscribers_url": "https://api.github.com/repos/gitify-app/notifications-test/subscribers",
+            "subscription_url": "https://api.github.com/repos/gitify-app/notifications-test/subscription",
+            "tags_url": "https://api.github.com/repos/gitify-app/notifications-test/tags",
+            "teams_url": "https://api.github.com/repos/gitify-app/notifications-test/teams",
+            "trees_url": "https://api.github.com/repos/gitify-app/notifications-test/git/trees{/sha}",
+            "url": "https://api.github.com/gitify-app/notifications-test",
           },
           "subject": {
-            "latest_comment_url": "https://api.github.com/repos/manosim/notifications-test/issues/comments/302888448",
+            "latest_comment_url": "https://api.github.com/repos/gitify-app/notifications-test/issues/comments/302888448",
             "state": "open",
             "title": "I am a robot and this is a test!",
             "type": "Issue",
-            "url": "https://api.github.com/repos/manosim/notifications-test/issues/1",
+            "url": "https://api.github.com/repos/gitify-app/notifications-test/issues/1",
             "user": {
-              "avatar_url": "https://avatars0.githubusercontent.com/u/6333409?v=3",
-              "html_url": "https://github.com/manosim",
-              "login": "manosim",
+              "avatar_url": "https://avatars.githubusercontent.com/u/133795385?s=200&v=4",
+              "html_url": "https://github.com/gitify-app",
+              "login": "gitify-app",
               "type": "User",
             },
           },
@@ -196,36 +196,36 @@ exports[`routes/Notifications.tsx should render itself & its children (show acco
           "repository": {
             "description": null,
             "fork": false,
-            "full_name": "manosim/notifications-test",
-            "html_url": "https://github.com/manosim/notifications-test",
+            "full_name": "gitify-app/notifications-test",
+            "html_url": "https://github.com/gitify-app/notifications-test",
             "id": 57216596,
             "name": "notifications-test",
             "owner": {
-              "avatar_url": "https://avatars0.githubusercontent.com/u/6333409?v=3",
-              "events_url": "https://api.github.com/users/manosim/events{/privacy}",
-              "followers_url": "https://api.github.com/users/manosim/followers",
-              "following_url": "https://api.github.com/users/manosim/following{/other_user}",
-              "gists_url": "https://api.github.com/users/manosim/gists{/gist_id}",
+              "avatar_url": "https://avatars.githubusercontent.com/u/133795385?s=200&v=4",
+              "events_url": "https://api.github.com/users/gitify-app/events{/privacy}",
+              "followers_url": "https://api.github.com/users/gitify-app/followers",
+              "following_url": "https://api.github.com/users/gitify-app/following{/other_user}",
+              "gists_url": "https://api.github.com/users/gitify-app/gists{/gist_id}",
               "gravatar_id": "",
-              "html_url": "https://github.com/manosim",
+              "html_url": "https://github.com/gitify-app",
               "id": 6333409,
-              "login": "manosim",
-              "organizations_url": "https://api.github.com/users/manosim/orgs",
-              "received_events_url": "https://api.github.com/users/manosim/received_events",
-              "repos_url": "https://api.github.com/users/manosim/repos",
+              "login": "gitify-app",
+              "organizations_url": "https://api.github.com/users/gitify-app/orgs",
+              "received_events_url": "https://api.github.com/users/gitify-app/received_events",
+              "repos_url": "https://api.github.com/users/gitify-app/repos",
               "site_admin": false,
-              "starred_url": "https://api.github.com/users/manosim/starred{/owner}{/repo}",
-              "subscriptions_url": "https://api.github.com/users/manosim/subscriptions",
+              "starred_url": "https://api.github.com/users/gitify-app/starred{/owner}{/repo}",
+              "subscriptions_url": "https://api.github.com/users/gitify-app/subscriptions",
               "type": "User",
-              "url": "https://api.github.com/users/manosim",
+              "url": "https://api.github.com/users/gitify-app",
             },
             "private": true,
           },
           "subject": {
-            "latest_comment_url": "https://api.github.com/repos/manosim/notifications-test/issues/comments/302885965",
+            "latest_comment_url": "https://api.github.com/repos/gitify-app/notifications-test/issues/comments/302885965",
             "title": "Improve the UI",
             "type": "Issue",
-            "url": "https://api.github.com/repos/manosim/notifications-test/issues/4",
+            "url": "https://api.github.com/repos/gitify-app/notifications-test/issues/4",
           },
           "subscription_url": "https://api.github.com/notifications/threads/148827438/subscription",
           "unread": true,
@@ -253,82 +253,82 @@ exports[`routes/Notifications.tsx should render itself & its children (with noti
           "last_read_at": "2017-05-20T17:06:51Z",
           "reason": "subscribed",
           "repository": {
-            "archive_url": "https://api.github.com/repos/manosim/notifications-test/{archive_format}{/ref}",
-            "assignees_url": "https://api.github.com/repos/manosim/notifications-test/assignees{/user}",
-            "blobs_url": "https://api.github.com/repos/manosim/notifications-test/git/blobs{/sha}",
-            "branches_url": "https://api.github.com/repos/manosim/notifications-test/branches{/branch}",
-            "collaborators_url": "https://api.github.com/repos/manosim/notifications-test/collaborators{/collaborator}",
-            "comments_url": "https://api.github.com/repos/manosim/notifications-test/comments{/number}",
-            "commits_url": "https://api.github.com/repos/manosim/notifications-test/commits{/sha}",
-            "compare_url": "https://api.github.com/repos/manosim/notifications-test/compare/{base}...{head}",
-            "contents_url": "https://api.github.com/repos/manosim/notifications-test/contents/{+path}",
-            "contributors_url": "https://api.github.com/repos/manosim/notifications-test/contributors",
-            "deployments_url": "https://api.github.com/repos/manosim/notifications-test/deployments",
+            "archive_url": "https://api.github.com/repos/gitify-app/notifications-test/{archive_format}{/ref}",
+            "assignees_url": "https://api.github.com/repos/gitify-app/notifications-test/assignees{/user}",
+            "blobs_url": "https://api.github.com/repos/gitify-app/notifications-test/git/blobs{/sha}",
+            "branches_url": "https://api.github.com/repos/gitify-app/notifications-test/branches{/branch}",
+            "collaborators_url": "https://api.github.com/repos/gitify-app/notifications-test/collaborators{/collaborator}",
+            "comments_url": "https://api.github.com/repos/gitify-app/notifications-test/comments{/number}",
+            "commits_url": "https://api.github.com/repos/gitify-app/notifications-test/commits{/sha}",
+            "compare_url": "https://api.github.com/repos/gitify-app/notifications-test/compare/{base}...{head}",
+            "contents_url": "https://api.github.com/repos/gitify-app/notifications-test/contents/{+path}",
+            "contributors_url": "https://api.github.com/repos/gitify-app/notifications-test/contributors",
+            "deployments_url": "https://api.github.com/repos/gitify-app/notifications-test/deployments",
             "description": "Test Repository",
-            "downloads_url": "https://api.github.com/repos/manosim/notifications-test/downloads",
-            "events_url": "https://api.github.com/repos/manosim/notifications-test/events",
+            "downloads_url": "https://api.github.com/repos/gitify-app/notifications-test/downloads",
+            "events_url": "https://api.github.com/repos/gitify-app/notifications-test/events",
             "fork": false,
-            "forks_url": "https://api.github.com/repos/manosim/notifications-test/forks",
-            "full_name": "manosim/notifications-test",
-            "git_commits_url": "https://api.github.com/repos/manosim/notifications-test/git/commits{/sha}",
-            "git_refs_url": "https://api.github.com/repos/manosim/notifications-test/git/refs{/sha}",
-            "git_tags_url": "https://api.github.com/repos/manosim/notifications-test/git/tags{/sha}",
-            "hooks_url": "https://api.github.com/repos/manosim/notifications-test/hooks",
-            "html_url": "https://github.com/manosim/notifications-test",
+            "forks_url": "https://api.github.com/repos/gitify-app/notifications-test/forks",
+            "full_name": "gitify-app/notifications-test",
+            "git_commits_url": "https://api.github.com/repos/gitify-app/notifications-test/git/commits{/sha}",
+            "git_refs_url": "https://api.github.com/repos/gitify-app/notifications-test/git/refs{/sha}",
+            "git_tags_url": "https://api.github.com/repos/gitify-app/notifications-test/git/tags{/sha}",
+            "hooks_url": "https://api.github.com/repos/gitify-app/notifications-test/hooks",
+            "html_url": "https://github.com/gitify-app/notifications-test",
             "id": 57216596,
-            "issue_comment_url": "https://api.github.com/repos/manosim/notifications-test/issues/comments{/number}",
-            "issue_events_url": "https://api.github.com/repos/manosim/notifications-test/issues/events{/number}",
-            "issues_url": "https://api.github.com/repos/manosim/notifications-test/issues{/number}",
-            "keys_url": "https://api.github.com/repos/manosim/notifications-test/keys{/key_id}",
-            "labels_url": "https://api.github.com/repos/manosim/notifications-test/labels{/name}",
-            "languages_url": "https://api.github.com/repos/manosim/notifications-test/languages",
-            "merges_url": "https://api.github.com/repos/manosim/notifications-test/merges",
-            "milestones_url": "https://api.github.com/repos/manosim/notifications-test/milestones{/number}",
+            "issue_comment_url": "https://api.github.com/repos/gitify-app/notifications-test/issues/comments{/number}",
+            "issue_events_url": "https://api.github.com/repos/gitify-app/notifications-test/issues/events{/number}",
+            "issues_url": "https://api.github.com/repos/gitify-app/notifications-test/issues{/number}",
+            "keys_url": "https://api.github.com/repos/gitify-app/notifications-test/keys{/key_id}",
+            "labels_url": "https://api.github.com/repos/gitify-app/notifications-test/labels{/name}",
+            "languages_url": "https://api.github.com/repos/gitify-app/notifications-test/languages",
+            "merges_url": "https://api.github.com/repos/gitify-app/notifications-test/merges",
+            "milestones_url": "https://api.github.com/repos/gitify-app/notifications-test/milestones{/number}",
             "name": "notifications-test",
             "node_id": "MDEwOlJlcG9zaXRvcnkzNjAyOTcwNg==",
-            "notifications_url": "https://api.github.com/repos/manosim/notifications-test/notifications{?since,all,participating}",
+            "notifications_url": "https://api.github.com/repos/gitify-app/notifications-test/notifications{?since,all,participating}",
             "owner": {
-              "avatar_url": "https://avatars0.githubusercontent.com/u/6333409?v=3",
-              "events_url": "https://api.github.com/users/manosim/events{/privacy}",
-              "followers_url": "https://api.github.com/users/manosim/followers",
-              "following_url": "https://api.github.com/users/manosim/following{/other_user}",
-              "gists_url": "https://api.github.com/users/manosim/gists{/gist_id}",
+              "avatar_url": "https://avatars.githubusercontent.com/u/133795385?s=200&v=4",
+              "events_url": "https://api.github.com/users/gitify-app/events{/privacy}",
+              "followers_url": "https://api.github.com/users/gitify-app/followers",
+              "following_url": "https://api.github.com/users/gitify-app/following{/other_user}",
+              "gists_url": "https://api.github.com/users/gitify-app/gists{/gist_id}",
               "gravatar_id": "",
-              "html_url": "https://github.com/manosim",
+              "html_url": "https://github.com/gitify-app",
               "id": 6333409,
-              "login": "manosim",
+              "login": "gitify-app",
               "node_id": "MDQ6VXNlcjYzMzM0MDk=",
-              "organizations_url": "https://api.github.com/users/manosim/orgs",
-              "received_events_url": "https://api.github.com/users/manosim/received_events",
-              "repos_url": "https://api.github.com/users/manosim/repos",
+              "organizations_url": "https://api.github.com/users/gitify-app/orgs",
+              "received_events_url": "https://api.github.com/users/gitify-app/received_events",
+              "repos_url": "https://api.github.com/users/gitify-app/repos",
               "site_admin": false,
-              "starred_url": "https://api.github.com/users/manosim/starred{/owner}{/repo}",
-              "subscriptions_url": "https://api.github.com/users/manosim/subscriptions",
+              "starred_url": "https://api.github.com/users/gitify-app/starred{/owner}{/repo}",
+              "subscriptions_url": "https://api.github.com/users/gitify-app/subscriptions",
               "type": "User",
-              "url": "https://api.github.com/users/manosim",
+              "url": "https://api.github.com/users/gitify-app",
             },
             "private": true,
-            "pulls_url": "https://api.github.com/repos/manosim/notifications-test/pulls{/number}",
-            "releases_url": "https://api.github.com/repos/manosim/notifications-test/releases{/id}",
-            "stargazers_url": "https://api.github.com/repos/manosim/notifications-test/stargazers",
-            "statuses_url": "https://api.github.com/repos/manosim/notifications-test/statuses/{sha}",
-            "subscribers_url": "https://api.github.com/repos/manosim/notifications-test/subscribers",
-            "subscription_url": "https://api.github.com/repos/manosim/notifications-test/subscription",
-            "tags_url": "https://api.github.com/repos/manosim/notifications-test/tags",
-            "teams_url": "https://api.github.com/repos/manosim/notifications-test/teams",
-            "trees_url": "https://api.github.com/repos/manosim/notifications-test/git/trees{/sha}",
-            "url": "https://api.github.com/manosim/notifications-test",
+            "pulls_url": "https://api.github.com/repos/gitify-app/notifications-test/pulls{/number}",
+            "releases_url": "https://api.github.com/repos/gitify-app/notifications-test/releases{/id}",
+            "stargazers_url": "https://api.github.com/repos/gitify-app/notifications-test/stargazers",
+            "statuses_url": "https://api.github.com/repos/gitify-app/notifications-test/statuses/{sha}",
+            "subscribers_url": "https://api.github.com/repos/gitify-app/notifications-test/subscribers",
+            "subscription_url": "https://api.github.com/repos/gitify-app/notifications-test/subscription",
+            "tags_url": "https://api.github.com/repos/gitify-app/notifications-test/tags",
+            "teams_url": "https://api.github.com/repos/gitify-app/notifications-test/teams",
+            "trees_url": "https://api.github.com/repos/gitify-app/notifications-test/git/trees{/sha}",
+            "url": "https://api.github.com/gitify-app/notifications-test",
           },
           "subject": {
-            "latest_comment_url": "https://api.github.com/repos/manosim/notifications-test/issues/comments/302888448",
+            "latest_comment_url": "https://api.github.com/repos/gitify-app/notifications-test/issues/comments/302888448",
             "state": "open",
             "title": "I am a robot and this is a test!",
             "type": "Issue",
-            "url": "https://api.github.com/repos/manosim/notifications-test/issues/1",
+            "url": "https://api.github.com/repos/gitify-app/notifications-test/issues/1",
             "user": {
-              "avatar_url": "https://avatars0.githubusercontent.com/u/6333409?v=3",
-              "html_url": "https://github.com/manosim",
-              "login": "manosim",
+              "avatar_url": "https://avatars.githubusercontent.com/u/133795385?s=200&v=4",
+              "html_url": "https://github.com/gitify-app",
+              "login": "gitify-app",
               "type": "User",
             },
           },
@@ -345,36 +345,36 @@ exports[`routes/Notifications.tsx should render itself & its children (with noti
           "repository": {
             "description": null,
             "fork": false,
-            "full_name": "manosim/notifications-test",
-            "html_url": "https://github.com/manosim/notifications-test",
+            "full_name": "gitify-app/notifications-test",
+            "html_url": "https://github.com/gitify-app/notifications-test",
             "id": 57216596,
             "name": "notifications-test",
             "owner": {
-              "avatar_url": "https://avatars0.githubusercontent.com/u/6333409?v=3",
-              "events_url": "https://api.github.com/users/manosim/events{/privacy}",
-              "followers_url": "https://api.github.com/users/manosim/followers",
-              "following_url": "https://api.github.com/users/manosim/following{/other_user}",
-              "gists_url": "https://api.github.com/users/manosim/gists{/gist_id}",
+              "avatar_url": "https://avatars.githubusercontent.com/u/133795385?s=200&v=4",
+              "events_url": "https://api.github.com/users/gitify-app/events{/privacy}",
+              "followers_url": "https://api.github.com/users/gitify-app/followers",
+              "following_url": "https://api.github.com/users/gitify-app/following{/other_user}",
+              "gists_url": "https://api.github.com/users/gitify-app/gists{/gist_id}",
               "gravatar_id": "",
-              "html_url": "https://github.com/manosim",
+              "html_url": "https://github.com/gitify-app",
               "id": 6333409,
-              "login": "manosim",
-              "organizations_url": "https://api.github.com/users/manosim/orgs",
-              "received_events_url": "https://api.github.com/users/manosim/received_events",
-              "repos_url": "https://api.github.com/users/manosim/repos",
+              "login": "gitify-app",
+              "organizations_url": "https://api.github.com/users/gitify-app/orgs",
+              "received_events_url": "https://api.github.com/users/gitify-app/received_events",
+              "repos_url": "https://api.github.com/users/gitify-app/repos",
               "site_admin": false,
-              "starred_url": "https://api.github.com/users/manosim/starred{/owner}{/repo}",
-              "subscriptions_url": "https://api.github.com/users/manosim/subscriptions",
+              "starred_url": "https://api.github.com/users/gitify-app/starred{/owner}{/repo}",
+              "subscriptions_url": "https://api.github.com/users/gitify-app/subscriptions",
               "type": "User",
-              "url": "https://api.github.com/users/manosim",
+              "url": "https://api.github.com/users/gitify-app",
             },
             "private": true,
           },
           "subject": {
-            "latest_comment_url": "https://api.github.com/repos/manosim/notifications-test/issues/comments/302885965",
+            "latest_comment_url": "https://api.github.com/repos/gitify-app/notifications-test/issues/comments/302885965",
             "title": "Improve the UI",
             "type": "Issue",
-            "url": "https://api.github.com/repos/manosim/notifications-test/issues/4",
+            "url": "https://api.github.com/repos/gitify-app/notifications-test/issues/4",
           },
           "subscription_url": "https://api.github.com/notifications/threads/148827438/subscription",
           "unread": true,
@@ -390,7 +390,8 @@ exports[`routes/Notifications.tsx should render itself & its children (with noti
     notifications={
       [
         {
-          "id": "4",
+          "hostname": "https://github.gitify.io/api/v3",
+          "id": "3",
           "last_read_at": null,
           "reason": "subscribed",
           "repository": {
@@ -422,10 +423,10 @@ exports[`routes/Notifications.tsx should render itself & its children (with noti
             "private": true,
           },
           "subject": {
-            "latest_comment_url": "https://github.gitify.io/api/v3/repos/myorg/notifications-test/releases/1",
+            "latest_comment_url": "https://github.gitify.io/api/v3/repos/myorg/notifications-test/releases/3",
             "title": "Release 0.0.1",
             "type": "Release",
-            "url": "https://github.gitify.io/api/v3/repos/myorg/notifications-test/releases/1",
+            "url": "https://github.gitify.io/api/v3/repos/myorg/notifications-test/releases/3",
           },
           "subscription_url": "https://github.gitify.io/api/v3/notifications/threads/4/subscription",
           "unread": true,
@@ -433,8 +434,8 @@ exports[`routes/Notifications.tsx should render itself & its children (with noti
           "url": "https://github.gitify.io/api/v3/notifications/threads/4",
         },
         {
-          "hostname": "https://api.github.com",
-          "id": "3",
+          "hostname": "https://github.gitify.io/api/v3",
+          "id": "4",
           "last_read_at": "2017-05-20T14:20:55Z",
           "reason": "subscribed",
           "repository": {
@@ -469,7 +470,7 @@ exports[`routes/Notifications.tsx should render itself & its children (with noti
             "latest_comment_url": "https://github.gitify.io/api/v3/repos/myorg/notifications-test/issues/comments/21",
             "title": "Bump Version",
             "type": "PullRequest",
-            "url": "https://github.gitify.io/api/v3/repos/myorg/notifications-test/pulls/3",
+            "url": "https://github.gitify.io/api/v3/repos/myorg/notifications-test/pulls/4",
           },
           "subscription_url": "https://github.gitify.io/api/v3/notifications/threads/3/subscription",
           "unread": true,
diff --git a/src/utils/api/client.test.ts b/src/utils/api/client.test.ts
index 6599dc38..341fde11 100644
--- a/src/utils/api/client.test.ts
+++ b/src/utils/api/client.test.ts
@@ -19,7 +19,7 @@ const mockGitHubHostname = 'github.com';
 const mockEnterpriseHostname = 'example.com';
 const mockToken = 'yourAuthToken';
 const mockThreadId = '1234';
-const mockRepoSlug = 'gitify-app/notification-test';
+const mockRepoSlug = 'gitify-app/notifications-test';
 
 describe('utils/api/client.ts', () => {
   afterEach(() => {
@@ -285,7 +285,8 @@ describe('utils/api/client.ts', () => {
       const requestPromise = new Promise((resolve) =>
         resolve({
           data: {
-            html_url: 'https://github.com/gitify-app/gitify/issues/785',
+            html_url:
+              'https://github.com/gitify-app/notifications-test/issues/785',
           },
         } as AxiosResponse),
       ) as AxiosPromise;
@@ -293,10 +294,12 @@ describe('utils/api/client.ts', () => {
       apiRequestAuthMock.mockResolvedValue(requestPromise);
 
       const result = await getHtmlUrl(
-        'https://api.github.com/repos/gitify-app/gitify/issues/785',
+        'https://api.github.com/repos/gitify-app/notifications-test/issues/785',
         '123',
       );
-      expect(result).toBe('https://github.com/gitify-app/gitify/issues/785');
+      expect(result).toBe(
+        'https://github.com/gitify-app/notifications-test/issues/785',
+      );
     });
   });
 });
diff --git a/src/utils/helpers.test.ts b/src/utils/helpers.test.ts
index 54a1909a..ca7fad00 100644
--- a/src/utils/helpers.test.ts
+++ b/src/utils/helpers.test.ts
@@ -44,7 +44,7 @@ describe('utils/helpers.ts', () => {
   describe('addNotificationReferrerIdToUrl', () => {
     it('should add notification_referrer_id to the URL', () => {
       // Mock data
-      const url = 'https://github.com/some/repo';
+      const url = 'https://github.com/gitify-app/notifications-test';
       const notificationId = '123';
       const userId = 456;
 
@@ -55,14 +55,14 @@ describe('utils/helpers.ts', () => {
       );
 
       expect(result).toEqual(
-        'https://github.com/some/repo?notification_referrer_id=MDE4Ok5vdGlmaWNhdGlvblRocmVhZDEyMzo0NTY%3D',
+        'https://github.com/gitify-app/notifications-test?notification_referrer_id=MDE4Ok5vdGlmaWNhdGlvblRocmVhZDEyMzo0NTY%3D',
       );
     });
 
     it('should add notification_referrer_id to the URL, preserving anchor tags', () => {
       // Mock data
       const url =
-        'https://github.com/some/repo/pull/123#issuecomment-1951055051';
+        'https://github.com/gitify-app/notifications-test/pull/123#issuecomment-1951055051';
       const notificationId = '123';
       const userId = 456;
 
@@ -73,7 +73,7 @@ describe('utils/helpers.ts', () => {
       );
 
       expect(result).toEqual(
-        'https://github.com/some/repo/pull/123?notification_referrer_id=MDE4Ok5vdGlmaWNhdGlvblRocmVhZDEyMzo0NTY%3D#issuecomment-1951055051',
+        'https://github.com/gitify-app/notifications-test/pull/123?notification_referrer_id=MDE4Ok5vdGlmaWNhdGlvblRocmVhZDEyMzo0NTY%3D#issuecomment-1951055051',
       );
     });
   });
@@ -130,7 +130,8 @@ describe('utils/helpers.ts', () => {
   });
 
   describe('generateGitHubWebUrl', () => {
-    const mockedHtmlUrl = 'https://github.com/gitify-app/gitify/issues/785';
+    const mockedHtmlUrl =
+      'https://github.com/gitify-app/notifications-test/issues/785';
     const mockedNotificationReferrer =
       'notification_referrer_id=MDE4Ok5vdGlmaWNhdGlvblRocmVhZDEzODY2MTA5NjoxMjM0NTY3ODk%3D';
     const apiRequestAuthMock = jest.spyOn(apiRequests, 'apiRequestAuth');
@@ -229,7 +230,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?query=workflow%3A%22Demo%22+is%3Asuccess+branch%3Amain&${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?query=workflow%3A%22Demo%22+is%3Asuccess+branch%3Amain&${mockedNotificationReferrer}`,
         );
       });
 
@@ -251,7 +252,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?query=workflow%3A%22Demo%22+is%3Afailure+branch%3Amain&${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?query=workflow%3A%22Demo%22+is%3Afailure+branch%3Amain&${mockedNotificationReferrer}`,
         );
       });
 
@@ -273,7 +274,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?query=workflow%3A%22Demo%22+is%3Afailure+branch%3Amain&${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?query=workflow%3A%22Demo%22+is%3Afailure+branch%3Amain&${mockedNotificationReferrer}`,
         );
       });
 
@@ -295,7 +296,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?query=workflow%3A%22Demo%22+is%3Askipped+branch%3Amain&${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?query=workflow%3A%22Demo%22+is%3Askipped+branch%3Amain&${mockedNotificationReferrer}`,
         );
       });
 
@@ -317,7 +318,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?${mockedNotificationReferrer}`,
         );
       });
 
@@ -339,7 +340,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?query=workflow%3A%22Demo%22+branch%3Amain&${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?query=workflow%3A%22Demo%22+branch%3Amain&${mockedNotificationReferrer}`,
         );
       });
 
@@ -361,7 +362,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?${mockedNotificationReferrer}`,
         );
       });
     });
@@ -421,7 +422,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(1);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/discussions/612?${mockedNotificationReferrer}#discussioncomment-2300902`,
+          `https://github.com/gitify-app/notifications-test/discussions/612?${mockedNotificationReferrer}#discussioncomment-2300902`,
         );
       });
 
@@ -449,14 +450,15 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(1);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/discussions?${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/discussions?${mockedNotificationReferrer}`,
         );
       });
     });
 
     it('Repository Invitation url', async () => {
       const subject = {
-        title: 'Invitation to join manosim/notifications-test from unit-tests',
+        title:
+          'Invitation to join gitify-app/notifications-test from unit-tests',
         url: null,
         latest_comment_url: null,
         type: 'RepositoryInvitation' as SubjectType,
@@ -472,7 +474,7 @@ describe('utils/helpers.ts', () => {
 
       expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
       expect(result).toBe(
-        `https://github.com/manosim/notifications-test/invitations?${mockedNotificationReferrer}`,
+        `https://github.com/gitify-app/notifications-test/invitations?${mockedNotificationReferrer}`,
       );
     });
 
@@ -495,7 +497,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?query=is%3Awaiting&${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?query=is%3Awaiting&${mockedNotificationReferrer}`,
         );
       });
 
@@ -518,7 +520,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?${mockedNotificationReferrer}`,
         );
       });
 
@@ -540,7 +542,7 @@ describe('utils/helpers.ts', () => {
 
         expect(apiRequestAuthMock).toHaveBeenCalledTimes(0);
         expect(result).toBe(
-          `https://github.com/manosim/notifications-test/actions?${mockedNotificationReferrer}`,
+          `https://github.com/gitify-app/notifications-test/actions?${mockedNotificationReferrer}`,
         );
       });
     });
diff --git a/src/utils/subject.test.ts b/src/utils/subject.test.ts
index 8bf8eddb..bb2aaee2 100644
--- a/src/utils/subject.test.ts
+++ b/src/utils/subject.test.ts
@@ -25,7 +25,7 @@ const mockCommenter = partialMockUser('some-commenter');
 const mockDiscussionAuthor: DiscussionAuthor = {
   login: 'discussion-author',
   url: 'https://github.com/discussion-author',
-  avatar_url: 'https://avatars.githubusercontent.com/u/583231?v=4',
+  avatar_url: 'https://avatars.githubusercontent.com/u/123456789?v=4',
   type: 'User',
 };
 
@@ -860,6 +860,32 @@ describe('utils/subject.ts', () => {
         expect(result).toBeNull();
       });
     });
+
+    describe('Error', () => {
+      it('catches error and logs message', async () => {
+        const consoleErrorSpy = jest
+          .spyOn(console, 'error')
+          .mockImplementation();
+
+        const mockError = new Error('Test error');
+        const mockNotification = partialMockNotification({
+          title: 'This issue will throw an error',
+          type: 'Issue',
+          url: 'https://api.github.com/repos/gitify-app/notifications-test/issues/1',
+        });
+
+        nock('https://api.github.com')
+          .get('/repos/gitify-app/notifications-test/issues/1')
+          .replyWithError(mockError);
+
+        await getGitifySubjectDetails(mockNotification, mockAccounts.token);
+
+        expect(consoleErrorSpy).toHaveBeenCalledWith(
+          'Error occurred while fetching details for Issue notification: This issue will throw an error',
+          mockError,
+        );
+      });
+    });
   });
 
   describe('getCheckSuiteState', () => {
@@ -1035,7 +1061,6 @@ function mockDiscussionNode(
     isAnswered: isAnswered,
     author: mockDiscussionAuthor,
     comments: {
-      //TODO - Update this to have real data
       nodes: [],
     },
   };
diff --git a/src/utils/theme.test.ts b/src/utils/theme.test.ts
index baa43188..0c54200c 100644
--- a/src/utils/theme.test.ts
+++ b/src/utils/theme.test.ts
@@ -1,34 +1,32 @@
 import { Theme } from '../types';
-import { setTheme } from './theme';
+import { getTheme, setTheme } from './theme';
 
-import * as appearanceHelpers from './theme';
-
-describe('utils/appearance.ts', () => {
-  beforeAll(() => {
-    jest.spyOn(appearanceHelpers, 'setLightMode');
-    jest.spyOn(appearanceHelpers, 'setDarkMode');
-  });
+describe('utils/theme.ts', () => {
+  const htmlElement = document.createElement('html');
 
   beforeEach(() => {
-    // @ts-ignore
-    appearanceHelpers.setLightMode.mockReset();
-    // @ts-ignore
-    appearanceHelpers.setDarkMode.mockReset();
+    document.querySelector = jest.fn(() => htmlElement);
   });
 
   it('should change to light mode', () => {
     setTheme(Theme.LIGHT);
-    expect(appearanceHelpers.setLightMode).toHaveBeenCalledTimes(1);
+    expect(getTheme()).toBe(Theme.LIGHT);
   });
 
   it('should change to dark mode', () => {
     setTheme(Theme.DARK);
-    expect(appearanceHelpers.setDarkMode).toHaveBeenCalledTimes(1);
+    expect(getTheme()).toBe(Theme.DARK);
   });
 
   it("should use the system's mode - light", () => {
+    Object.defineProperty(window, 'matchMedia', {
+      writable: true,
+      value: jest.fn().mockImplementation((query) => ({
+        matches: false,
+      })),
+    });
     setTheme();
-    expect(appearanceHelpers.setLightMode).toHaveBeenCalledTimes(1);
+    expect(getTheme()).toBe(Theme.LIGHT);
   });
 
   it("should use the system's mode - dark", () => {
@@ -39,6 +37,6 @@ describe('utils/appearance.ts', () => {
       })),
     });
     setTheme();
-    expect(appearanceHelpers.setDarkMode).toHaveBeenCalledTimes(1);
+    expect(getTheme()).toBe(Theme.DARK);
   });
 });