diff --git a/awx/ui_next/src/screens/Project/ProjectList/ProjectListItem.test.jsx b/awx/ui_next/src/screens/Project/ProjectList/ProjectListItem.test.jsx
index 2e4959ce8b..98c6ed86ec 100644
--- a/awx/ui_next/src/screens/Project/ProjectList/ProjectListItem.test.jsx
+++ b/awx/ui_next/src/screens/Project/ProjectList/ProjectListItem.test.jsx
@@ -319,4 +319,71 @@ describe('', () => {
).toBe('Sync for revision');
expect(wrapper.find('ClipboardCopyButton').prop('isDisabled')).toBe(true);
});
+ test('should render expected details in expanded section', async () => {
+ const wrapper = mountWithContexts(
+
+
+ {}}
+ project={{
+ id: 1,
+ name: 'Project 1',
+ description: 'Project 1 description',
+ url: '/api/v2/projects/1',
+ type: 'project',
+ scm_type: 'git',
+ scm_revision: '123456789',
+ summary_fields: {
+ organization: {
+ id: 999,
+ description: '',
+ name: 'Mock org',
+ },
+ user_capabilities: {
+ start: true,
+ },
+ default_environment: {
+ id: 123,
+ name: 'Mock EE',
+ image: 'mock.image',
+ },
+ },
+ custom_virtualenv: '/var/lib/awx/env',
+ default_environment: 123,
+ organization: 999,
+ }}
+ />
+
+
+ );
+ expect(
+ wrapper
+ .find('Tr')
+ .last()
+ .prop('isExpanded')
+ ).toBe(false);
+ await act(async () =>
+ wrapper.find('button[aria-label="Details"]').simulate('click')
+ );
+ wrapper.update();
+ expect(
+ wrapper
+ .find('Tr')
+ .last()
+ .prop('isExpanded')
+ ).toBe(true);
+
+ function assertDetail(label, value) {
+ expect(wrapper.find(`Detail[label="${label}"] dt`).text()).toBe(label);
+ expect(wrapper.find(`Detail[label="${label}"] dd`).text()).toBe(value);
+ }
+ assertDetail('Description', 'Project 1 description');
+ assertDetail('Organization', 'Mock org');
+ assertDetail('Default Execution Environment', 'Mock EE');
+ expect(wrapper.find('Detail[label="Last modified"]').length).toBe(1);
+ expect(wrapper.find('Detail[label="Last used"]').length).toBe(1);
+ });
});