Browse Source

Update tests for ApiKeys CTA screen.

Carlos Mondragon 7 years ago
parent
commit
f03fa364df

+ 12 - 6
public/app/features/api-keys/ApiKeysPage.test.tsx

@@ -1,4 +1,4 @@
-import React from 'react';
+import React from 'react';
 import { shallow } from 'enzyme';
 import { shallow } from 'enzyme';
 import { Props, ApiKeysPage } from './ApiKeysPage';
 import { Props, ApiKeysPage } from './ApiKeysPage';
 import { NavModel, ApiKey } from 'app/types';
 import { NavModel, ApiKey } from 'app/types';
@@ -14,6 +14,7 @@ const setup = (propOverrides?: object) => {
     deleteApiKey: jest.fn(),
     deleteApiKey: jest.fn(),
     setSearchQuery: jest.fn(),
     setSearchQuery: jest.fn(),
     addApiKey: jest.fn(),
     addApiKey: jest.fn(),
+    apiKeysCount: 0,
   };
   };
 
 
   Object.assign(props, propOverrides);
   Object.assign(props, propOverrides);
@@ -28,15 +29,20 @@ const setup = (propOverrides?: object) => {
 };
 };
 
 
 describe('Render', () => {
 describe('Render', () => {
-  it('should render component', () => {
-    const { wrapper } = setup();
+  it('should render API keys table if there are any keys', () => {
+    const { wrapper } = setup({
+      apiKeys: getMultipleMockKeys(5),
+      apiKeysCount: 5,
+    });
+
     expect(wrapper).toMatchSnapshot();
     expect(wrapper).toMatchSnapshot();
   });
   });
 
 
-  it('should render API keys table', () => {
+  it('should render CTA if theres are no API keys', () => {
     const { wrapper } = setup({
     const { wrapper } = setup({
-      apiKeys: getMultipleMockKeys(5),
-      hasFetched: true,
+      apiKeys: getMultipleMockKeys(0),
+      apiKeysCount: 0,
+	  hasFetched: true,
     });
     });
 
 
     expect(wrapper).toMatchSnapshot();
     expect(wrapper).toMatchSnapshot();

+ 15 - 132
public/app/features/api-keys/__snapshots__/ApiKeysPage.test.tsx.snap

@@ -1,6 +1,6 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
 
-exports[`Render should render API keys table 1`] = `
+exports[`Render should render API keys table if there are any keys 1`] = `
 <div>
 <div>
   <PageHeader
   <PageHeader
     model={Object {}}
     model={Object {}}
@@ -270,7 +270,7 @@ exports[`Render should render API keys table 1`] = `
 </div>
 </div>
 `;
 `;
 
 
-exports[`Render should render component 1`] = `
+exports[`Render should render CTA if theres are no API keys 1`] = `
 <div>
 <div>
   <PageHeader
   <PageHeader
     model={Object {}}
     model={Object {}}
@@ -278,136 +278,19 @@ exports[`Render should render component 1`] = `
   <div
   <div
     className="page-container page-body"
     className="page-container page-body"
   >
   >
-    <div
-      className="page-action-bar"
-    >
-      <div
-        className="gf-form gf-form--grow"
-      >
-        <label
-          className="gf-form--has-input-icon gf-form--grow"
-        >
-          <input
-            className="gf-form-input"
-            onChange={[Function]}
-            placeholder="Search keys"
-            type="text"
-            value=""
-          />
-          <i
-            className="gf-form-input-icon fa fa-search"
-          />
-        </label>
-      </div>
-      <div
-        className="page-action-bar__spacer"
-      />
-      <button
-        className="btn btn-success pull-right"
-        disabled={false}
-        onClick={[Function]}
-      >
-        <i
-          className="fa fa-plus"
-        />
-         Add API Key
-      </button>
-    </div>
-    <Component
-      in={false}
-    >
-      <div
-        className="cta-form"
-      >
-        <button
-          className="cta-form__close btn btn-transparent"
-          onClick={[Function]}
-        >
-          <i
-            className="fa fa-close"
-          />
-        </button>
-        <h5>
-          Add API Key
-        </h5>
-        <form
-          className="gf-form-group"
-          onSubmit={[Function]}
-        >
-          <div
-            className="gf-form-inline"
-          >
-            <div
-              className="gf-form max-width-21"
-            >
-              <span
-                className="gf-form-label"
-              >
-                Key name
-              </span>
-              <input
-                className="gf-form-input"
-                onChange={[Function]}
-                placeholder="Name"
-                type="text"
-                value=""
-              />
-            </div>
-            <div
-              className="gf-form"
-            >
-              <span
-                className="gf-form-label"
-              >
-                Role
-              </span>
-              <span
-                className="gf-form-select-wrapper"
-              >
-                <select
-                  className="gf-form-input gf-size-auto"
-                  onChange={[Function]}
-                  value="Viewer"
-                >
-                  <option
-                    key="Viewer"
-                    label="Viewer"
-                    value="Viewer"
-                  >
-                    Viewer
-                  </option>
-                  <option
-                    key="Editor"
-                    label="Editor"
-                    value="Editor"
-                  >
-                    Editor
-                  </option>
-                  <option
-                    key="Admin"
-                    label="Admin"
-                    value="Admin"
-                  >
-                    Admin
-                  </option>
-                </select>
-              </span>
-            </div>
-            <div
-              className="gf-form"
-            >
-              <button
-                className="btn gf-form-btn btn-success"
-              >
-                Add
-              </button>
-            </div>
-          </div>
-        </form>
-      </div>
-    </Component>
-    <PageLoader
-      pageName="Api keys"
+    <EmptyListCTA
+      model={
+        Object {
+          "buttonIcon": "fa fa-plus",
+          "buttonLink": "org/apikeys/new",
+          "buttonTitle": " New API Key",
+          "proTip": "Assign folder and dashboard permissions to teams instead of users to ease administration.",
+          "proTipLink": "",
+          "proTipLinkTitle": "",
+          "proTipTarget": "_blank",
+          "title": "You haven't added any API Keys yet.",
+        }
+      }
     />
     />
   </div>
   </div>
 </div>
 </div>