From 191f99d020b116183aa493fc6e5ec0a944eb4fd1 Mon Sep 17 00:00:00 2001 From: Erik Jan de Wit Date: Mon, 25 Mar 2019 17:15:31 +0100 Subject: [PATCH] fix: don't rename url parameters for shared state (#574) fixes: https://github.com/fabric8-launcher/launcher-frontend/issues/1126 --- .../src/lib/model/projectile.model.spec.ts | 15 +++++++++++++++ .../src/lib/model/projectile.model.ts | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/projects/ngx-launcher/src/lib/model/projectile.model.spec.ts b/projects/ngx-launcher/src/lib/model/projectile.model.spec.ts index 28f0d395..4c0db3b9 100644 --- a/projects/ngx-launcher/src/lib/model/projectile.model.spec.ts +++ b/projects/ngx-launcher/src/lib/model/projectile.model.spec.ts @@ -72,6 +72,21 @@ describe('State saving and restoring', () => { expect(_newState).toEqual(newState); })); + it('should restore shared state', () => { + class SharedStateProjectile extends Projectile { + protected searchParams() { + // tslint:disable-next-line:max-line-length + return new URLSearchParams('?selectedSection=&shared=%7B%22projectName%22%3A%22projectName%22%2C%22projectVersion%22%3A%22%22%2C%22groupId%22%3A%22%22%2C%22mavenArtifact%22%3A%22some-value%22%2C%22space%22%3A%22%22%2C%22targetEnvironment%22%3A%22%22%7D'); + } + } + + const projectile = new SharedStateProjectile(); + projectile.sharedState.state; + projectile.restore('shared', projectile.getSavedState('shared')); + expect(projectile.sharedState.state.projectName).toBe('projectName'); + expect(projectile.sharedState.state.mavenArtifact).toBe('some-value'); + }); + it('should reset the state of the component', async(() => { const projectile = new TestableProjectile(); projectile.setState('newState', new StepState({ 'param1': 'value1' }, [{ name: 'p1', value: 'param1' }])); diff --git a/projects/ngx-launcher/src/lib/model/projectile.model.ts b/projects/ngx-launcher/src/lib/model/projectile.model.ts index 987fc6e7..7adc934e 100644 --- a/projects/ngx-launcher/src/lib/model/projectile.model.ts +++ b/projects/ngx-launcher/src/lib/model/projectile.model.ts @@ -29,8 +29,8 @@ export class Projectile { { name: 'projectName', value: 'projectName' }, { name: 'projectVersion', value: 'projectVersion' }, { name: 'groupId', value: 'groupId' }, - { name: 'artifactId', value: 'mavenArtifact' }, - { name: 'space', value: 'spacePath' }, + { name: 'mavenArtifact', value: 'mavenArtifact' }, + { name: 'spacePath', value: 'spacePath' }, { name: 'targetEnvironment', value: 'targetEnvironment' } ]); this.setState('shared', state);