mirror of
https://github.com/status-im/spiff-arena.git
synced 2025-02-10 08:46:44 +00:00
added some support for using the backend openid server for cypress tests w/ burnettk
This commit is contained in:
parent
76a701e9dd
commit
a98892be32
1
.github/workflows/frontend_tests.yml
vendored
1
.github/workflows/frontend_tests.yml
vendored
@ -101,6 +101,7 @@ jobs:
|
|||||||
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
||||||
# pass GitHub token to allow accurately detecting a build vs a re-run build
|
# pass GitHub token to allow accurately detecting a build vs a re-run build
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
SPIFFWORKFLOW_FRONTEND_AUTH_WITH_KEYCLOAK: "true"
|
||||||
- name: get_backend_logs_from_docker_compose
|
- name: get_backend_logs_from_docker_compose
|
||||||
if: failure()
|
if: failure()
|
||||||
working-directory: ./spiffworkflow-backend
|
working-directory: ./spiffworkflow-backend
|
||||||
|
@ -15,16 +15,16 @@
|
|||||||
<form id="login" method="post" action="{{ url_for('openid.form_submit') }}">
|
<form id="login" method="post" action="{{ url_for('openid.form_submit') }}">
|
||||||
<p><b>Important:</b> This login form is for demonstration purposes only. In production systems you should
|
<p><b>Important:</b> This login form is for demonstration purposes only. In production systems you should
|
||||||
be using a real Open ID System.</p>
|
be using a real Open ID System.</p>
|
||||||
<input type="text" class="cds--text-input" name="Uname" id="Uname" placeholder="Username">
|
<input type="text" class="cds--text-input" name="Uname" id="username" placeholder="Username">
|
||||||
<br><br>
|
<br><br>
|
||||||
<input type="Password" class="cds--text-input" name="Pass" id="Pass" placeholder="Password">
|
<input type="Password" class="cds--text-input" name="Pass" id="password" placeholder="Password">
|
||||||
<br><br>
|
<br><br>
|
||||||
<input type="hidden" name="state" value="{{state}}"/>
|
<input type="hidden" name="state" value="{{state}}"/>
|
||||||
<input type="hidden" name="response_type" value="{{response_type}}"/>
|
<input type="hidden" name="response_type" value="{{response_type}}"/>
|
||||||
<input type="hidden" name="client_id" value="{{client_id}}"/>
|
<input type="hidden" name="client_id" value="{{client_id}}"/>
|
||||||
<input type="hidden" name="scope" value="{{scope}}"/>
|
<input type="hidden" name="scope" value="{{scope}}"/>
|
||||||
<input type="hidden" name="redirect_uri" value="{{redirect_uri}}"/>
|
<input type="hidden" name="redirect_uri" value="{{redirect_uri}}"/>
|
||||||
<input type="submit" name="log" class="cds--btn cds--btn--primary" value="Log In">
|
<input type="submit" name="log" class="cds--btn cds--btn--primary" id="spiff-login-button" value="Log In">
|
||||||
<br><br>
|
<br><br>
|
||||||
<!-- should maybe add this stuff in eventually, but this is just for testing.
|
<!-- should maybe add this stuff in eventually, but this is just for testing.
|
||||||
<input type="checkbox" id="check">
|
<input type="checkbox" id="check">
|
||||||
|
@ -30,7 +30,7 @@ const cypressConfig = {
|
|||||||
videoUploadOnPasses: false,
|
videoUploadOnPasses: false,
|
||||||
chromeWebSecurity: false,
|
chromeWebSecurity: false,
|
||||||
e2e: {
|
e2e: {
|
||||||
baseUrl: 'http://localhost:7001',
|
baseUrl: `http://localhost:${process.env.SPIFFWORKFLOW_FRONTEND_PORT || 7001}`,
|
||||||
setupNodeEvents(on, config) {
|
setupNodeEvents(on, config) {
|
||||||
deleteVideosOnSuccess(on)
|
deleteVideosOnSuccess(on)
|
||||||
require('@cypress/grep/src/plugin')(config);
|
require('@cypress/grep/src/plugin')(config);
|
||||||
|
@ -33,7 +33,7 @@ describe('process-groups', () => {
|
|||||||
cy.contains(newGroupDisplayName).should('not.exist');
|
cy.contains(newGroupDisplayName).should('not.exist');
|
||||||
|
|
||||||
// meaning the process group list page is loaded, so we can sign out safely without worrying about ajax requests failing
|
// meaning the process group list page is loaded, so we can sign out safely without worrying about ajax requests failing
|
||||||
cy.get('.tile-process-group-content-container').should('exist');
|
cy.getBySel('process-groups-loaded').should('exist');
|
||||||
});
|
});
|
||||||
|
|
||||||
// process groups no longer has pagination post-tiles
|
// process groups no longer has pagination post-tiles
|
||||||
|
@ -43,17 +43,27 @@ Cypress.Commands.add('navigateToAdmin', () => {
|
|||||||
|
|
||||||
Cypress.Commands.add('login', (selector, ...args) => {
|
Cypress.Commands.add('login', (selector, ...args) => {
|
||||||
cy.visit('/admin');
|
cy.visit('/admin');
|
||||||
cy.get('#username').type('ciadmin1');
|
const username = Cypress.env('SPIFFWORKFLOW_FRONTEND_USERNAME') || 'ciadmin1';
|
||||||
cy.get('#password').type('ciadmin1');
|
const password = Cypress.env('SPIFFWORKFLOW_FRONTEND_PASSWORD') || 'ciadmin1';
|
||||||
cy.get('#kc-login').click();
|
cy.get('#username').type(username);
|
||||||
|
cy.get('#password').type(password);
|
||||||
|
if (Cypress.env('SPIFFWORKFLOW_FRONTEND_AUTH_WITH_KEYCLOAK') === 'true') {
|
||||||
|
cy.get('#kc-login').click();
|
||||||
|
} else {
|
||||||
|
cy.get('#spiff-login-button').click();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Cypress.Commands.add('logout', (selector, ...args) => {
|
Cypress.Commands.add('logout', (selector, ...args) => {
|
||||||
cy.getBySel('logout-button').click();
|
cy.getBySel('logout-button').click();
|
||||||
|
|
||||||
// otherwise we can click logout, quickly load the next page, and the javascript
|
if (Cypress.env('SPIFFWORKFLOW_FRONTEND_AUTH_WITH_KEYCLOAK') === 'true') {
|
||||||
// doesn't have time to actually sign you out
|
// otherwise we can click logout, quickly load the next page, and the javascript
|
||||||
cy.contains('Sign in to your account');
|
// doesn't have time to actually sign you out
|
||||||
|
cy.contains('Sign in to your account');
|
||||||
|
} else {
|
||||||
|
cy.get('#spiff-login-button').should('exist');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Cypress.Commands.add('createGroup', (groupId, groupDisplayName) => {
|
Cypress.Commands.add('createGroup', (groupId, groupDisplayName) => {
|
||||||
|
@ -94,7 +94,13 @@ export default function ProcessGroupListTiles({
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (processGroups) {
|
if (processGroups) {
|
||||||
return <>{processGroupArea()}</>;
|
return (
|
||||||
|
<>
|
||||||
|
{/* so we can check if the groups have loaded in cypress tests */}
|
||||||
|
<div data-qa="process-groups-loaded" hidden />
|
||||||
|
{processGroupArea()}
|
||||||
|
</>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user