From e0e66e38187efdd4105ea3b2d3dfe59b83a3a8f1 Mon Sep 17 00:00:00 2001 From: mabashian Date: Tue, 25 May 2021 15:23:15 -0400 Subject: [PATCH] Fixes bug where activity stream changes were displaying as [object object] --- .../ActivityStreamDetailButton.jsx | 4 +- .../ActivityStreamDetailButton.test.jsx | 61 ++++++++++++++++++- 2 files changed, 63 insertions(+), 2 deletions(-) diff --git a/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.jsx b/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.jsx index 395a8cb43cb1..7c3075440f1b 100644 --- a/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.jsx +++ b/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.jsx @@ -52,7 +52,9 @@ function ActivityStreamDetailButton({ streamItem, user, description }) { )} diff --git a/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.test.jsx b/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.test.jsx index 3e6b7522332d..33958570aa61 100644 --- a/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.test.jsx +++ b/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.test.jsx @@ -1,6 +1,5 @@ import React from 'react'; import { Link } from 'react-router-dom'; - import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; import ActivityStreamDetailButton from './ActivityStreamDetailButton'; @@ -18,4 +17,64 @@ describe('', () => { /> ); }); + test('details are properly rendered', () => { + function assertDetail(label, value) { + expect(wrapper.find(`Detail[label="${label}"] dt`).text()).toBe(label); + expect(wrapper.find(`Detail[label="${label}"] dd`).text()).toBe(value); + } + + const wrapper = mountWithContexts( + Bob} + description={foo} + /> + ); + + expect(wrapper.find('Modal[title="Event detail"]').prop('isOpen')).toBe( + false + ); + + wrapper.find('Button').simulate('click'); + + expect(wrapper.find('Modal[title="Event detail"]').prop('isOpen')).toBe( + true + ); + + assertDetail('Time', '5/25/2021, 6:17:59 PM'); + assertDetail('Initiated by', 'Bob'); + assertDetail('Setting category', 'system'); + assertDetail('Setting name', 'INSIGHTS_TRACKING_STATE'); + assertDetail('Action', 'foo'); + + const input = wrapper.find('VariablesDetail___StyledCodeEditor'); + expect(input).toHaveLength(1); + expect(input.prop('value')).toEqual('{\n "value": false,\n "id": 6\n}'); + }); });