85 lines
2.9 KiB
TypeScript
85 lines
2.9 KiB
TypeScript
import { v4 as uuid } from "uuid";
|
|
import Form from "../support/forms/Form";
|
|
import FormValidation from "../support/forms/FormValidation";
|
|
import Select from "../support/forms/Select";
|
|
import CIBAPolicyPage from "../support/pages/admin-ui/manage/authentication/CIBAPolicyPage";
|
|
import SidebarPage from "../support/pages/admin-ui/SidebarPage";
|
|
import LoginPage from "../support/pages/LoginPage";
|
|
import adminClient from "../support/util/AdminClient";
|
|
import { keycloakBefore } from "../support/util/keycloak_hooks";
|
|
|
|
const loginPage = new LoginPage();
|
|
const sidebarPage = new SidebarPage();
|
|
|
|
describe("Authentication - Policies - CIBA", () => {
|
|
const realmName = uuid();
|
|
|
|
before(() => adminClient.createRealm(realmName));
|
|
after(() => adminClient.deleteRealm(realmName));
|
|
|
|
beforeEach(() => {
|
|
loginPage.logIn();
|
|
keycloakBefore();
|
|
sidebarPage.goToRealm(realmName);
|
|
sidebarPage.goToAuthentication();
|
|
CIBAPolicyPage.goToTab();
|
|
});
|
|
|
|
it("displays the initial state", () => {
|
|
Select.assertSelectedItem(
|
|
CIBAPolicyPage.getBackchannelTokenDeliveryModeSelect(),
|
|
"Poll"
|
|
);
|
|
CIBAPolicyPage.getExpiresInput().should("have.value", "120");
|
|
CIBAPolicyPage.getIntervalInput().should("have.value", "5");
|
|
Form.assertSaveButtonDisabled();
|
|
});
|
|
|
|
it("validates the fields", () => {
|
|
// Required fields.
|
|
CIBAPolicyPage.getExpiresInput().clear();
|
|
CIBAPolicyPage.getIntervalInput().clear();
|
|
|
|
FormValidation.assertRequired(CIBAPolicyPage.getExpiresInput());
|
|
FormValidation.assertRequired(CIBAPolicyPage.getIntervalInput());
|
|
Form.assertSaveButtonDisabled();
|
|
|
|
// Fields with minimum value.
|
|
CIBAPolicyPage.getExpiresInput().type("9");
|
|
CIBAPolicyPage.getIntervalInput().type("-1");
|
|
|
|
FormValidation.assertMinValue(CIBAPolicyPage.getExpiresInput(), 10);
|
|
FormValidation.assertMinValue(CIBAPolicyPage.getIntervalInput(), 0);
|
|
Form.assertSaveButtonDisabled();
|
|
|
|
// Fields with maximum value.
|
|
CIBAPolicyPage.getExpiresInput().clear().type("601");
|
|
CIBAPolicyPage.getIntervalInput().clear().type("601");
|
|
|
|
FormValidation.assertMaxValue(CIBAPolicyPage.getExpiresInput(), 600);
|
|
FormValidation.assertMaxValue(CIBAPolicyPage.getIntervalInput(), 600);
|
|
Form.assertSaveButtonDisabled();
|
|
});
|
|
|
|
it("saves the form", () => {
|
|
// Select new values for fields.
|
|
Select.selectItem(
|
|
CIBAPolicyPage.getBackchannelTokenDeliveryModeSelect(),
|
|
"Ping"
|
|
);
|
|
CIBAPolicyPage.getExpiresInput().clear().type("140");
|
|
CIBAPolicyPage.getIntervalInput().clear().type("20");
|
|
|
|
// Save form.
|
|
Form.clickSaveButton();
|
|
CIBAPolicyPage.assertSaveSuccess();
|
|
|
|
// Assert values are saved.
|
|
Select.assertSelectedItem(
|
|
CIBAPolicyPage.getBackchannelTokenDeliveryModeSelect(),
|
|
"Ping"
|
|
);
|
|
CIBAPolicyPage.getExpiresInput().should("have.value", "140");
|
|
CIBAPolicyPage.getIntervalInput().should("have.value", "20");
|
|
});
|
|
});
|