open-vault/ui/tests/pages/components/config-pki-ca.js

60 lines
2.1 KiB
JavaScript

import { clickable, collection, fillable, text, selectable, isPresent } from 'ember-cli-page-object';
import fields from './form-field';
export default {
...fields,
scope: '.config-pki-ca',
text: text('[data-test-text]'),
title: text('[data-test-title]'),
hasTitle: isPresent('[data-test-title]'),
hasError: isPresent('[data-test-error]'),
hasSignIntermediateForm: isPresent('[data-test-sign-intermediate-form]'),
replaceCA: clickable('[data-test-go-replace-ca]'),
replaceCAText: text('[data-test-go-replace-ca]'),
setSignedIntermediateBtn: clickable('[data-test-go-set-signed-intermediate]'),
signIntermediateBtn: clickable('[data-test-go-sign-intermediate]'),
caType: selectable('[data-test-input="caType"]'),
submit: clickable('[data-test-submit]'),
back: clickable('[data-test-back-button]'),
signedIntermediate: fillable('[data-test-signed-intermediate]'),
downloadLinks: collection('[data-test-ca-download-link]'),
rows: collection('[data-test-table-row]'),
rowValues: collection('[data-test-row-value]'),
csr: text('[data-test-row-value="CSR"]', { normalize: false }),
csrField: fillable('[data-test-input="csr"]'),
certificate: text('[data-test-row-value="Certificate"]', { normalize: false }),
certificateIsPresent: isPresent('[data-test-row-value="Certificate"]'),
uploadCert: clickable('[data-test-input="uploadPemBundle"]'),
enterCertAsText: clickable('[data-test-text-toggle]'),
pemBundle: fillable('[data-test-text-file-textarea="true"]'),
commonName: fillable('[data-test-input="commonName"]'),
async generateCA(commonName = 'PKI CA', type = 'root') {
if (type === 'intermediate') {
return this.replaceCA()
.commonName(commonName)
.caType('intermediate')
.submit();
}
return this.replaceCA()
.commonName(commonName)
.submit();
},
async uploadCA(pem) {
return this.replaceCA()
.uploadCert()
.enterCertAsText()
.pemBundle(pem)
.submit();
},
async signIntermediate(commonName) {
return this.signIntermediateBtn().commonName(commonName);
},
};