Merge branch '21128-toolbar-context-menu'
[arvados-workbench2.git] / src / views-components / data-explorer / renderers.test.tsx
index 229d99094ed36ed7fd5500fc0607cbfc4092a102..ac8729aa3d32b7ff4dfe0fde5ff05171344dccd2 100644 (file)
@@ -29,11 +29,10 @@ describe('renderers', () => {
                     colors: {
                         // Color values are arbitrary, but they should be
                         // representative of the colors used in the UI.
-                        blue500: 'rgb(0, 0, 255)',
-                        green700: 'rgb(0, 255, 0)',
-                        yellow700: 'rgb(255, 255, 0)',
+                        green800: 'rgb(0, 255, 0)',
                         red900: 'rgb(255, 0, 0)',
-                        grey500: 'rgb(128, 128, 128)',
+                        orange: 'rgb(240, 173, 78)',
+                        grey600: 'rgb(128, 128, 128)',
                     }
                 },
                 spacing: {
@@ -48,42 +47,44 @@ describe('renderers', () => {
         };
 
         [
-            // CR Status ; Priority ; C Status ; Exit Code ; C RuntimeStatus ; Expected label ; Expected Color
-            [CR.COMMITTED, 1, C.RUNNING, null, {}, PS.RUNNING, props.theme.customs.colors.blue500],
-            [CR.COMMITTED, 1, C.RUNNING, null, {error: 'whoops'}, PS.FAILING, props.theme.customs.colors.red900],
-            [CR.COMMITTED, 1, C.RUNNING, null, {warning: 'watch out!'}, PS.WARNING, props.theme.customs.colors.yellow700],
-            [CR.FINAL, 1, C.CANCELLED, null, {}, PS.CANCELLED, props.theme.customs.colors.red900],
-            [CR.FINAL, 1, C.COMPLETE, 137, {}, PS.FAILED, props.theme.customs.colors.red900],
-            [CR.FINAL, 1, C.COMPLETE, 0, {}, PS.COMPLETED, props.theme.customs.colors.green700],
-            [CR.COMMITTED, 0, C.LOCKED, null, {}, PS.ONHOLD, props.theme.customs.colors.grey500],
-            [CR.COMMITTED, 0, C.QUEUED, null, {}, PS.ONHOLD, props.theme.customs.colors.grey500],
-            [CR.COMMITTED, 1, C.LOCKED, null, {}, PS.QUEUED, props.theme.customs.colors.grey500],
-            [CR.COMMITTED, 1, C.QUEUED, null, {}, PS.QUEUED, props.theme.customs.colors.grey500],
-        ].forEach(([crState, crPrio, cState, exitCode, rs, eLabel, eColor]) => {
+            // CR Status ; Priority ; C Status ; Exit Code ; C RuntimeStatus ; Expected label ; Expected bg color ; Expected fg color
+            [CR.COMMITTED, 1, C.RUNNING, null, {}, PS.RUNNING, props.theme.palette.common.white, props.theme.customs.colors.green800],
+            [CR.COMMITTED, 1, C.RUNNING, null, { error: 'whoops' }, PS.FAILING, props.theme.palette.common.white, props.theme.customs.colors.red900],
+            [CR.COMMITTED, 1, C.RUNNING, null, { warning: 'watch out!' }, PS.WARNING, props.theme.palette.common.white, props.theme.customs.colors.green800],
+            [CR.FINAL, 1, C.CANCELLED, null, {}, PS.CANCELLED, props.theme.customs.colors.red900, props.theme.palette.common.white],
+            [CR.FINAL, 1, C.COMPLETE, 137, {}, PS.FAILED, props.theme.customs.colors.red900, props.theme.palette.common.white],
+            [CR.FINAL, 1, C.COMPLETE, 0, {}, PS.COMPLETED, props.theme.customs.colors.green800, props.theme.palette.common.white],
+            [CR.COMMITTED, 0, C.LOCKED, null, {}, PS.ONHOLD, props.theme.customs.colors.grey600, props.theme.palette.common.white],
+            [CR.COMMITTED, 0, C.QUEUED, null, {}, PS.ONHOLD, props.theme.customs.colors.grey600, props.theme.palette.common.white],
+            [CR.COMMITTED, 1, C.LOCKED, null, {}, PS.QUEUED, props.theme.palette.common.white, props.theme.customs.colors.grey600],
+            [CR.COMMITTED, 1, C.QUEUED, null, {}, PS.QUEUED, props.theme.palette.common.white, props.theme.customs.colors.grey600],
+        ].forEach(([crState, crPrio, cState, exitCode, rs, eLabel, eColor, tColor]) => {
             it(`should render the state label '${eLabel}' and color '${eColor}' for CR state=${crState}, priority=${crPrio}, C state=${cState}, exitCode=${exitCode} and RuntimeStatus=${JSON.stringify(rs)}`, () => {
                 const containerUuid = 'zzzzz-dz642-zzzzzzzzzzzzzzz';
-                const store = mockStore({ resources: {
-                    [props.uuid]: {
-                        kind: ResourceKind.CONTAINER_REQUEST,
-                        state: crState,
-                        containerUuid: containerUuid,
-                        priority: crPrio,
-                    },
-                    [containerUuid]: {
-                        kind: ResourceKind.CONTAINER,
-                        state: cState,
-                        runtimeStatus: rs,
-                        exitCode: exitCode,
-                    },
-                }});
+                const store = mockStore({
+                    resources: {
+                        [props.uuid]: {
+                            kind: ResourceKind.CONTAINER_REQUEST,
+                            state: crState,
+                            containerUuid: containerUuid,
+                            priority: crPrio,
+                        },
+                        [containerUuid]: {
+                            kind: ResourceKind.CONTAINER,
+                            state: cState,
+                            runtimeStatus: rs,
+                            exitCode: exitCode,
+                        },
+                    }
+                });
 
                 const wrapper = mount(<Provider store={store}>
-                        <ProcessStatus {...props} />
-                    </Provider>);
+                    <ProcessStatus {...props} />
+                </Provider>);
 
                 expect(wrapper.text()).toEqual(eLabel);
                 expect(getComputedStyle(wrapper.getDOMNode())
-                    .getPropertyValue('color')).toEqual(props.theme.palette.common.white);
+                    .getPropertyValue('color')).toEqual(tColor);
                 expect(getComputedStyle(wrapper.getDOMNode())
                     .getPropertyValue('background-color')).toEqual(eColor);
             });
@@ -99,12 +100,14 @@ describe('renderers', () => {
 
         it('should render collection fileSizeTotal', () => {
             // given
-            const store = mockStore({ resources: {
-                [props.uuid]: {
-                    kind: ResourceKind.COLLECTION,
-                    fileSizeTotal: 100,
+            const store = mockStore({
+                resources: {
+                    [props.uuid]: {
+                        kind: ResourceKind.COLLECTION,
+                        fileSizeTotal: 100,
+                    }
                 }
-            }});
+            });
 
             // when
             const wrapper = mount(<Provider store={store}>
@@ -130,16 +133,20 @@ describe('renderers', () => {
 
         it('should render empty string for non collection resource', () => {
             // given
-            const store1 = mockStore({ resources: {
-                [props.uuid]: {
-                    kind: ResourceKind.PROJECT,
+            const store1 = mockStore({
+                resources: {
+                    [props.uuid]: {
+                        kind: ResourceKind.PROJECT,
+                    }
                 }
-            }});
-            const store2 = mockStore({ resources: {
-                [props.uuid]: {
-                    kind: ResourceKind.PROJECT,
+            });
+            const store2 = mockStore({
+                resources: {
+                    [props.uuid]: {
+                        kind: ResourceKind.PROJECT,
+                    }
                 }
-            }});
+            });
 
             // when
             const wrapper1 = mount(<Provider store={store1}>
@@ -154,4 +161,4 @@ describe('renderers', () => {
             expect(wrapper2.text()).toContain('');
         });
     });
-});
\ No newline at end of file
+});