diff options
Diffstat (limited to 'polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.ts')
-rw-r--r-- | polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.ts | 53 |
1 files changed, 50 insertions, 3 deletions
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.ts b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.ts index 422c91b343..31908bb2d9 100644 --- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.ts +++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.ts @@ -36,12 +36,14 @@ import { createRevision, createAccountDetailWithId, createChangeConfig, + createConfig, } from '../../../test/test-data-generators'; import { ChangeStatus, SubmitType, RequirementStatus, GpgKeyInfoStatus, + InheritedBooleanInfoConfiguredValue, } from '../../../constants/constants'; import { EmailAddress, @@ -485,6 +487,13 @@ suite('gr-change-metadata tests', () => { labels: {}, mergeable: true, }; + element.repoConfig = { + ...createConfig(), + enable_signed_push: { + configured_value: 'TRUE' as InheritedBooleanInfoConfiguredValue, + value: true, + }, + }; }); test('Push Certificate Validation test BAD', () => { @@ -497,7 +506,8 @@ suite('gr-change-metadata tests', () => { }; const result = element._computePushCertificateValidation( serverConfig, - change + change, + element.repoConfig ); assert.equal( result?.message, @@ -517,7 +527,8 @@ suite('gr-change-metadata tests', () => { }; const result = element._computePushCertificateValidation( serverConfig, - change + change, + element.repoConfig ); assert.equal( result?.message, @@ -531,7 +542,8 @@ suite('gr-change-metadata tests', () => { change!.revisions.rev1! = createRevision(1); const result = element._computePushCertificateValidation( serverConfig, - change + change, + element.repoConfig ); assert.equal( result?.message, @@ -540,6 +552,41 @@ suite('gr-change-metadata tests', () => { assert.equal(result?.icon, 'gr-icons:help'); assert.equal(result?.class, 'help'); }); + + test('_computePushCertificateValidation returns undefined', () => { + delete serverConfig!.receive!.enable_signed_push; + const result = element._computePushCertificateValidation( + serverConfig, + change, + element.repoConfig + ); + assert.isUndefined(result); + }); + + test('isEnabledSignedPushOnRepo', () => { + change!.revisions.rev1!.push_certificate = { + certificate: 'Push certificate', + key: { + status: GpgKeyInfoStatus.TRUSTED, + }, + }; + element.change = change; + element.serverConfig = serverConfig; + element.repoConfig!.enable_signed_push!.configured_value = + InheritedBooleanInfoConfiguredValue.INHERIT; + element.repoConfig!.enable_signed_push!.inherited_value = true; + assert.isTrue(element.isEnabledSignedPushOnRepo(element.repoConfig)); + + element.repoConfig!.enable_signed_push!.inherited_value = false; + assert.isFalse(element.isEnabledSignedPushOnRepo(element.repoConfig)); + + element.repoConfig!.enable_signed_push!.configured_value = + InheritedBooleanInfoConfiguredValue.TRUE; + assert.isTrue(element.isEnabledSignedPushOnRepo(element.repoConfig)); + + element.repoConfig = undefined; + assert.isFalse(element.isEnabledSignedPushOnRepo(element.repoConfig)); + }); }); test('_computeParents', () => { |