diff --git a/orga/app/components/campaign/results/profile-list.gjs b/orga/app/components/campaign/results/profile-list.gjs index 1c90e4902d0..e911b6a58e6 100644 --- a/orga/app/components/campaign/results/profile-list.gjs +++ b/orga/app/components/campaign/results/profile-list.gjs @@ -44,7 +44,9 @@ import ParticipationEvolutionIcon from './participation-evolution-icon'; {{/if}} - + {{#if @campaign.multipleSendings}} + + {{/if}} @@ -113,8 +115,10 @@ import ParticipationEvolutionIcon from './participation-evolution-icon'; {{/if}} - - + {{#if @campaign.multipleSendings}} + + + {{/if}} {{#if profile.certifiable}} {{t "pages.profiles-list.table.column.certifiable"}} @@ -123,9 +127,11 @@ import ParticipationEvolutionIcon from './participation-evolution-icon'; {{profile.certifiableCompetencesCount}} - - {{profile.sharedProfileCount}} - + {{#if @campaign.multipleSendings}} + + {{profile.sharedProfileCount}} + + {{/if}} {{/each}} diff --git a/orga/tests/integration/components/campaign/results/profile-list-test.js b/orga/tests/integration/components/campaign/results/profile-list-test.js index f21bb7364c9..48e6193eabd 100644 --- a/orga/tests/integration/components/campaign/results/profile-list-test.js +++ b/orga/tests/integration/components/campaign/results/profile-list-test.js @@ -156,7 +156,42 @@ module('Integration | Component | Campaign::Results::ProfileList', function (hoo assert.ok(screen.getByRole('cell', { name: '01/02/2020' })); }); - test('it should display correct evolution', async function (assert) { + test('it should not display evolution if campaign is not multiple sendings', async function (assert) { + // given + this.campaign = store.createRecord('campaign', { + id: '1', + name: 'campagne 1', + participationsCount: 1, + multipleSendings: false, + }); + this.profiles = [ + { + firstName: 'Alice', + lastName: 'Red', + participantExternalId: '789', + evolution: null, + sharedAt: new Date(2020, 1, 1), + }, + ]; + this.profiles.meta = { rowCount: 1 }; + + // when + const screen = await render( + hbs``, + ); + + // then + assert.notOk(screen.queryByRole('cell', { name: t('pages.profiles-list.table.evolution.unavailable') })); + }); + + test('it should display correct evolution if campaign is multiple sendings', async function (assert) { // given this.campaign = store.createRecord('campaign', { id: '1', @@ -215,7 +250,7 @@ module('Integration | Component | Campaign::Results::ProfileList', function (hoo assert.ok(screen.getByRole('cell', { name: t('pages.profiles-list.table.evolution.unavailable') })); }); - test('it should display number of profiles shares', async function (assert) { + test('it should display number of profiles shares if campaign is multiple sendings', async function (assert) { // given this.campaign = store.createRecord('campaign', { id: '1', @@ -251,6 +286,42 @@ module('Integration | Component | Campaign::Results::ProfileList', function (hoo assert.ok(screen.getByRole('cell', { name: '3' })); }); + test('it should not display number of profiles shares if campaign is not multiple sendings', async function (assert) { + // given + this.campaign = store.createRecord('campaign', { + id: '1', + name: 'campagne 1', + participationsCount: 1, + multipleSendings: false, + }); + this.profiles = [ + { + firstName: 'John', + lastName: 'Doe', + participantExternalId: '123', + sharedProfileCount: 1, + evolution: 'decrease', + sharedAt: new Date(2020, 1, 1), + }, + ]; + this.profiles.meta = { rowCount: 1 }; + + // when + const screen = await render( + hbs``, + ); + + // then + assert.notOk(screen.queryByRole('cell', { name: '1' })); + }); + test('it should display the profile list with external id', async function (assert) { // given this.campaign = store.createRecord('campaign', {