Merge branch '18203-Support-setting-multi-properties-at-once' into main
[arvados-workbench2.git] / src / views-components / token-dialog / token-dialog.test.tsx
index 928001ab0b8c6c2a04d9b2def5550ed870d57bee..d2ff77e3d41777b1dad76806c6150b29037e8d64 100644 (file)
@@ -2,11 +2,19 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import * as React from 'react';
+// This mocks react-copy-to-clipboard's dependency module to avoid warnings
+// from jest when running tests. As we're not testing copy-to-clipboard, it's
+// safe to just mock it.
+// https://github.com/nkbt/react-copy-to-clipboard/issues/106#issuecomment-605227151
+jest.mock('copy-to-clipboard', () => {
+  return jest.fn();
+});
+
+import React from 'react';
 import { Button } from '@material-ui/core';
 import { mount, configure } from 'enzyme';
-import * as Adapter from 'enzyme-adapter-react-16';
-import * as CopyToClipboard from 'react-copy-to-clipboard';
+import Adapter from 'enzyme-adapter-react-16';
+import CopyToClipboard from 'react-copy-to-clipboard';
 import { TokenDialogComponent } from './token-dialog';
 
 configure({ adapter: new Adapter() });
@@ -39,12 +47,12 @@ describe('<CurrentTokenDialog />', () => {
 
     it('should show the token expiration if present', () => {
       expect(props.tokenExpiration).toBeUndefined();
-      expect(wrapper.html()).not.toContain('Expires at:');
+      expect(wrapper.html()).toContain('This token does not have an expiration date');
 
       const someDate = '2140-01-01T00:00:00.000Z'
       props.tokenExpiration = new Date(someDate);
       wrapper = mount(<TokenDialogComponent {...props} />);
-      expect(wrapper.html()).toContain('Expires at:');
+      expect(wrapper.html()).toContain(props.tokenExpiration.toLocaleString());
     });
 
     it('should show a create new token button when allowed', () => {