From 92aa80b947e63cec949f6e8833129162ad0d14f6 Mon Sep 17 00:00:00 2001
From: Tim Zallmann <tzallmann@gitlab.com>
Date: Mon, 7 Jun 2021 22:20:22 +0200
Subject: [PATCH] Updated checking if a date is invalid

As no error is thrown anymore in dateformat

Removed test setup
---
 app/assets/javascripts/lib/utils/datetime_range.js       | 9 +--------
 spec/frontend/__helpers__/fake_date/fake_date_spec.js    | 2 +-
 .../components/details_page/tags_list_row_spec.js        | 6 +++---
 3 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/app/assets/javascripts/lib/utils/datetime_range.js b/app/assets/javascripts/lib/utils/datetime_range.js
index 391b685f74026..a2b161d1446ff 100644
--- a/app/assets/javascripts/lib/utils/datetime_range.js
+++ b/app/assets/javascripts/lib/utils/datetime_range.js
@@ -26,14 +26,7 @@ const isValidDateString = (dateString) => {
     return false;
   }
 
-  try {
-    // dateformat throws error that can be caught.
-    // This is better than using `new Date()`
-    dateformat(dateString, 'isoUtcDateTime');
-    return true;
-  } catch (e) {
-    return false;
-  }
+  return !Number.isNaN(Date.parse(dateformat(dateString, 'isoUtcDateTime')));
 };
 
 const handleRangeDirection = ({ direction = DEFAULT_DIRECTION, anchorDate, minDate, maxDate }) => {
diff --git a/spec/frontend/__helpers__/fake_date/fake_date_spec.js b/spec/frontend/__helpers__/fake_date/fake_date_spec.js
index f479bb4d8b71a..730765e52d294 100644
--- a/spec/frontend/__helpers__/fake_date/fake_date_spec.js
+++ b/spec/frontend/__helpers__/fake_date/fake_date_spec.js
@@ -14,7 +14,7 @@ describe('spec/helpers/fake_date', () => {
 
     it('should use default args when called as a function', () => {
       expect(FakeDate()).toMatchInlineSnapshot(
-        `"Mon Jul 06 2020 00:00:00 UTC (Greenwich Mean Time)"`,
+        `"Mon Jul 06 2020 00:00:00 GMT+0000 (Greenwich Mean Time)"`,
       );
     });
 
diff --git a/spec/frontend/registry/explorer/components/details_page/tags_list_row_spec.js b/spec/frontend/registry/explorer/components/details_page/tags_list_row_spec.js
index 4698148b4d13a..c8fcb3116cd12 100644
--- a/spec/frontend/registry/explorer/components/details_page/tags_list_row_spec.js
+++ b/spec/frontend/registry/explorer/components/details_page/tags_list_row_spec.js
@@ -313,10 +313,10 @@ describe('tags list row', () => {
       });
 
       describe.each`
-        name                       | finderFunction             | text                                                                                                      | icon            | clipboard
+        name                       | finderFunction             | text                                                                                                 | icon            | clipboard
         ${'published date detail'} | ${findPublishedDateDetail} | ${'Published to the gitlab-org/gitlab-test/rails-12009 image repository at 01:29 UTC on 2020-11-03'} | ${'clock'}      | ${false}
-        ${'manifest detail'}       | ${findManifestDetail}      | ${'Manifest digest: sha256:2cf3d2fdac1b04a14301d47d51cb88dcd26714c74f91440eeee99ce399089062'}             | ${'log'}        | ${true}
-        ${'configuration detail'}  | ${findConfigurationDetail} | ${'Configuration digest: sha256:c2613843ab33aabf847965442b13a8b55a56ae28837ce182627c0716eb08c02b'}        | ${'cloud-gear'} | ${true}
+        ${'manifest detail'}       | ${findManifestDetail}      | ${'Manifest digest: sha256:2cf3d2fdac1b04a14301d47d51cb88dcd26714c74f91440eeee99ce399089062'}        | ${'log'}        | ${true}
+        ${'configuration detail'}  | ${findConfigurationDetail} | ${'Configuration digest: sha256:c2613843ab33aabf847965442b13a8b55a56ae28837ce182627c0716eb08c02b'}   | ${'cloud-gear'} | ${true}
       `('$name details row', ({ finderFunction, text, icon, clipboard }) => {
         it(`has ${text} as text`, async () => {
           mountComponent();
-- 
GitLab