keycloak-scim/js/apps/admin-ui/cypress/e2e/clients_saml_advanced.spec.ts

59 lines
2 KiB
TypeScript

import LoginPage from "../support/pages/LoginPage";
import Masthead from "../support/pages/admin-ui/Masthead";
import ListingPage from "../support/pages/admin-ui/ListingPage";
import SidebarPage from "../support/pages/admin-ui/SidebarPage";
import adminClient from "../support/util/AdminClient";
import { keycloakBefore } from "../support/util/keycloak_hooks";
import { AdvancedSamlTab } from "../support/pages/admin-ui/manage/clients/client_details/tabs/AdvancedSamlTab";
import ClientDetailsPage from "../support/pages/admin-ui/manage/clients/client_details/ClientDetailsPage";
const loginPage = new LoginPage();
const masthead = new Masthead();
const sidebarPage = new SidebarPage();
const listingPage = new ListingPage();
const advancedTab = new AdvancedSamlTab();
describe("Clients Saml advanced tab", () => {
describe("Fine Grain SAML Endpoint Configuration", () => {
const clientName = "advanced-tab";
before(() => {
adminClient.createClient({
protocol: "saml",
clientId: clientName,
publicClient: false,
});
});
after(() => {
adminClient.deleteClient(clientName);
});
beforeEach(() => {
loginPage.logIn();
keycloakBefore();
sidebarPage.goToClients();
listingPage.searchItem(clientName).goToItemDetails(clientName);
new ClientDetailsPage().goToAdvancedTab();
});
it("Should Terms of service URL", () => {
const termsOfServiceUrl = "http://some.url/terms-of-service.html";
advancedTab.termsOfServiceUrl(termsOfServiceUrl).saveFineGrain();
masthead.checkNotificationMessage("Client successfully updated");
advancedTab
.termsOfServiceUrl("http://not.saveing.this/")
.revertFineGrain();
advancedTab.checkTermsOfServiceUrl(termsOfServiceUrl);
});
it("Invalid terms of service URL", () => {
advancedTab.termsOfServiceUrl("not a url").saveFineGrain();
masthead.checkNotificationMessage(
"Client could not be updated: Terms of service URL is not a valid URL",
);
});
});
});