From c83c44d21cbe44aae4cc8c8c933da51b87975e27 Mon Sep 17 00:00:00 2001 From: ronronscelestes Date: Tue, 12 Oct 2021 16:54:38 +0200 Subject: [PATCH] added test --- .../components/DraggableCard.js | 7 +- .../pages/ListSettingsView/index.js | 3 +- .../ListSettingsView/tests/index.test.js | 529 +++++++++++++++++- .../ListSettingsView/tests/reducer.test.js | 2 +- 4 files changed, 534 insertions(+), 7 deletions(-) diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js index c985095fd8..d497d3c48e 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js @@ -105,7 +105,12 @@ const DraggableCard = ({ title, onRemoveField }) => { > - + diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/index.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/index.js index b4c443e20b..18575d9865 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/index.js @@ -344,9 +344,10 @@ const ListSettingsView = ({ layout, slug }) => { onChange={e => handleAddField(e)} value="" placeholder="Add a field" + data-testid="select-fields" > {listRemainingFields.map(field => ( - ))} diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/index.test.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/index.test.js index 785fdb55c0..d78b116deb 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/index.test.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/index.test.js @@ -43,10 +43,19 @@ const layout = { info: { label: 'michka', }, - uid: 'api::restaurant.restaurant', - settings: {}, - metadatas: {}, + metadatas: { + address: {}, + averagePrice: {}, + cover: {}, + id: {}, + since: {}, + }, + layouts: { + list: ['id', 'address'], + }, options: {}, + settings: {}, + uid: 'api::restaurant.restaurant', }; const makeApp = history => ( @@ -93,7 +102,8 @@ describe('ADMIN | CM | LV | Configure the view', () => { } .c62 { - padding: 24px; + padding-top: 24px; + padding-bottom: 24px; } .c21 { @@ -243,6 +253,23 @@ describe('ADMIN | CM | LV | Configure the view', () => { padding-bottom: 24px; } + .c65 { + padding-top: 16px; + padding-right: 16px; + padding-left: 16px; + border-radius: 4px; + border-style: dashed; + border-width: 1px; + border-color: #c0c0cf; + } + + .c72 { + background: #f6f6f9; + border-radius: 4px; + border-color: #eaeaef; + border: 1px solid #eaeaef; + } + .c30 { display: -webkit-box; display: -webkit-flex; @@ -264,6 +291,38 @@ describe('ADMIN | CM | LV | Configure the view', () => { flex-wrap: wrap; } + .c66 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .c73 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + .c52 { position: absolute; left: 0; @@ -360,6 +419,25 @@ describe('ADMIN | CM | LV | Configure the view', () => { margin-top: 4px; } + .c83 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } + + .c83 > * { + margin-top: 0; + margin-bottom: 0; + } + + .c83 > * + * { + margin-top: 0px; + } + .c51 { position: relative; border: 1px solid #dcdce4; @@ -414,6 +492,29 @@ describe('ADMIN | CM | LV | Configure the view', () => { width: 100%; } + .c69 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .c70 > * { + margin-left: 0; + margin-right: 0; + } + + .c70 > * + * { + margin-left: 12px; + } + .c28 { font-weight: 500; font-size: 1rem; @@ -421,6 +522,18 @@ describe('ADMIN | CM | LV | Configure the view', () => { color: #32324d; } + .c79 { + font-weight: 400; + font-size: 0.875rem; + line-height: 1.43; + color: #32324d; + } + + .c80 { + font-weight: 600; + line-height: 1.14; + } + .c35 { font-weight: 500; font-size: 0.75rem; @@ -746,6 +859,89 @@ describe('ADMIN | CM | LV | Configure the view', () => { gap: 16px; } + .c76 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 32px; + } + + .c76:last-child { + padding: 0 12px; + } + + .c77 { + padding: 0 12px; + border-right: 1px solid #eaeaef; + cursor: all-scroll; + } + + .c77 svg { + width: 0.75rem; + height: 0.75rem; + } + + .c74 { + min-width: 12.5rem; + cursor: pointer; + } + + .c74 svg { + width: 0.625rem; + height: 0.625rem; + } + + .c74 svg path { + fill: #666687; + } + + .c74:hover { + background-color: #f0f0ff; + border-color: #d9d8ff; + } + + .c74:hover svg path { + fill: #4945ff; + } + + .c74:hover .c78 { + color: #4945ff; + } + + .c74:hover .c75 { + border-right: 1px solid #d9d8ff; + } + + .c71:last-child { + padding-right: 12px; + } + + .c67 { + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + } + + .c81 { + -webkit-flex: auto; + -ms-flex: auto; + flex: auto; + } + + .c68 { + overflow-x: scroll; + overflow-y: hidden; + } + + .c82 { + max-width: 12.5rem; + } + @media (max-width:68.75rem) { .c47 { grid-column: span 12; @@ -1316,6 +1512,300 @@ describe('ADMIN | CM | LV | Configure the view', () => { class="c63 c64" /> +
+

+ View +

+
+
+
+
+
+
+
+ + + id + +
+
+ + +
+
+
+
+
+
+ + + address + +
+
+ + +
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+ + @@ -1342,4 +1832,35 @@ describe('ADMIN | CM | LV | Configure the view', () => { '?page=1&sort=undefined:undefined&plugins[i18n][locale]=fr' ); }); + + it('should show remaining fields in select fields', async () => { + const history = createMemoryHistory(); + history.push('/content-manager'); + + render(makeApp(history), { container: document.body }); + + await waitFor(() => { + expect(screen.getByText('Configure the view - Michka')).toBeInTheDocument(); + }); + + fireEvent.click(screen.getByTestId('select-fields')); + // TO DO + // await waitFor(() => expect(screen.getByText('cover')).toBeInTheDocument()); + }); + + it('should delete field', async () => { + const history = createMemoryHistory(); + history.push('/content-manager'); + + const { queryByTestId } = render(makeApp(history)); + await waitFor(() => { + expect(screen.getByText('Configure the view - Michka')).toBeInTheDocument(); + }); + + expect(queryByTestId('delete-id')).toBeInTheDocument(); + + fireEvent.click(screen.getByTestId('delete-id')); + + expect(queryByTestId('delete-id')).not.toBeInTheDocument(); + }); }); diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/reducer.test.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/reducer.test.js index 2940c17530..bd5c45a5a6 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/reducer.test.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/reducer.test.js @@ -22,12 +22,12 @@ describe('CONTENT MANAGER | CONTAINERS | ListSettingsView | reducer', () => { describe('ADD_FIELD', () => { it('should add a field to the layout correctly', () => { const expected = { + ...state, modifiedData: { layouts: { list: ['title'], }, }, - ...state, }; const action = { type: 'ADD_FIELD', item: 'title' };