don't show toolbar when not searching (#1152)

* don't show toolbar when not searching

* fixed the tests

* made switch logic more readable

* fixed test
This commit is contained in:
Erik Jan de Wit 2021-09-15 11:45:56 +02:00 committed by GitHub
parent b8990cbf63
commit cb94c537db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 61 additions and 59 deletions

View file

@ -50,7 +50,7 @@ describe("Client Scopes test", function () {
masthead.checkNotificationMessage("Client scope created"); masthead.checkNotificationMessage("Client scope created");
sidebarPage.goToClientScopes(); sidebarPage.goToClientScopes();
cy.get(".pf-c-spinner__tail-ball").should("not.exist"); sidebarPage.waitForPageLoad();
// Delete // Delete
listingPage listingPage

View file

@ -13,15 +13,27 @@ const adminEventsTab = new AdminEventsTab();
const realmSettingsPage = new RealmSettingsPage(); const realmSettingsPage = new RealmSettingsPage();
const masthead = new Masthead(); const masthead = new Masthead();
describe("Events tests", function () { describe("Events tests", () => {
describe("Search user events", function () { describe("Search user events", () => {
beforeEach(function () { beforeEach(() => {
keycloakBefore(); keycloakBefore();
loginPage.logIn(); loginPage.logIn();
sidebarPage.goToEvents(); sidebarPage.goToEvents();
}); });
it("Check search dropdown display", () => { it("Check search dropdown display", () => {
sidebarPage.goToRealmSettings();
cy.getId("rs-realm-events-tab").click();
realmSettingsPage
.toggleSwitch(realmSettingsPage.enableEvents)
.save(realmSettingsPage.eventsUserSave);
masthead.signOut();
loginPage.logIn();
sidebarPage.goToEvents();
userEventsTab.shouldDisplay(); userEventsTab.shouldDisplay();
}); });
@ -38,17 +50,6 @@ describe("Events tests", function () {
}); });
it("Check user events search and removal work", () => { it("Check user events search and removal work", () => {
sidebarPage.goToRealmSettings();
cy.getId("rs-realm-events-tab").click();
realmSettingsPage
.toggleSwitch(realmSettingsPage.enableEvents)
.save(realmSettingsPage.eventsUserSave);
masthead.signOut();
loginPage.logIn();
sidebarPage.goToEvents();
userEventsTab.shouldDoSearchAndRemoveChips(); userEventsTab.shouldDoSearchAndRemoveChips();
}); });
@ -61,8 +62,8 @@ describe("Events tests", function () {
}); });
}); });
describe("Search admin events", function () { describe("Search admin events", () => {
beforeEach(function () { beforeEach(() => {
keycloakBefore(); keycloakBefore();
loginPage.logIn(); loginPage.logIn();
sidebarPage.goToEvents(); sidebarPage.goToEvents();
@ -70,14 +71,6 @@ describe("Events tests", function () {
}); });
it("Check admin events search form fields display", () => { it("Check admin events search form fields display", () => {
adminEventsTab.shouldHaveFormFields();
});
it("Check `search admin events` button disabled by default", () => {
adminEventsTab.shouldHaveSearchBtnDisabled();
});
it("Check admin events search and removal work", () => {
sidebarPage.goToRealmSettings(); sidebarPage.goToRealmSettings();
cy.getId("rs-realm-events-tab").click(); cy.getId("rs-realm-events-tab").click();
cy.getId("rs-admin-events-tab").click(); cy.getId("rs-admin-events-tab").click();
@ -86,6 +79,17 @@ describe("Events tests", function () {
.toggleSwitch(realmSettingsPage.enableAdminEvents) .toggleSwitch(realmSettingsPage.enableAdminEvents)
.save(realmSettingsPage.eventsAdminSave); .save(realmSettingsPage.eventsAdminSave);
sidebarPage.goToEvents();
cy.getId("admin-events-tab").click();
sidebarPage.waitForPageLoad();
adminEventsTab.shouldHaveFormFields();
});
it("Check `search admin events` button disabled by default", () => {
adminEventsTab.shouldHaveSearchBtnDisabled();
});
it("Check admin events search and removal work", () => {
sidebarPage.goToEvents(); sidebarPage.goToEvents();
cy.getId("admin-events-tab").click(); cy.getId("admin-events-tab").click();
adminEventsTab.shouldDoAdminEventsSearchAndRemoveChips(); adminEventsTab.shouldDoAdminEventsSearchAndRemoveChips();
@ -100,8 +104,8 @@ describe("Events tests", function () {
}); });
}); });
describe("Check more button opens auth and representation dialogs", function () { describe("Check more button opens auth and representation dialogs", () => {
beforeEach(function () { beforeEach(() => {
keycloakBefore(); keycloakBefore();
loginPage.logIn(); loginPage.logIn();
sidebarPage.goToEvents(); sidebarPage.goToEvents();
@ -113,6 +117,7 @@ describe("Events tests", function () {
}); });
it("Check representation dialog opens and is not empty", () => { it("Check representation dialog opens and is not empty", () => {
sidebarPage.waitForPageLoad();
adminEventsTab.shouldCheckRepDialogOpensAndIsNotEmpty(); adminEventsTab.shouldCheckRepDialogOpensAndIsNotEmpty();
}); });
}); });

View file

@ -25,7 +25,7 @@ describe("Group test", () => {
let groupName = "group"; let groupName = "group";
const clickGroup = (itemName: string) => { const clickGroup = (itemName: string) => {
cy.get(".pf-c-spinner__tail-ball").should("not.exist"); sidebarPage.waitForPageLoad();
cy.get("table").contains(itemName).click(); cy.get("table").contains(itemName).click();
return this; return this;
@ -81,7 +81,7 @@ describe("Group test", () => {
groupModal.open("no-groups-in-this-realm-empty-action"); groupModal.open("no-groups-in-this-realm-empty-action");
groupModal.fillGroupForm(groupName).clickCreate(); groupModal.fillGroupForm(groupName).clickCreate();
cy.get(".pf-c-spinner__tail-ball").should("not.exist"); sidebarPage.waitForPageLoad();
groupModal.open().fillGroupForm(targetGroupName).clickCreate(); groupModal.open().fillGroupForm(targetGroupName).clickCreate();
listingPage.clickRowDetails(groupName).clickDetailMenu("Move to"); listingPage.clickRowDetails(groupName).clickDetailMenu("Move to");
@ -91,10 +91,10 @@ describe("Group test", () => {
moveGroupModal.clickMove(); moveGroupModal.clickMove();
masthead.checkNotificationMessage("Group moved"); masthead.checkNotificationMessage("Group moved");
cy.get(".pf-c-spinner__tail-ball").should("not.exist"); sidebarPage.waitForPageLoad();
listingPage.itemExist(groupName, false); listingPage.itemExist(groupName, false);
clickGroup(targetGroupName); clickGroup(targetGroupName);
cy.get(".pf-c-spinner__tail-ball").should("not.exist"); sidebarPage.waitForPageLoad();
listingPage.itemExist(groupName); listingPage.itemExist(groupName);
sidebarPage.goToGroups(); sidebarPage.goToGroups();
listingPage.deleteItem(targetGroupName); listingPage.deleteItem(targetGroupName);

View file

@ -191,7 +191,7 @@ describe("Realm settings", () => {
realmSettingsPage.addUserEvents(events).clickAdd(); realmSettingsPage.addUserEvents(events).clickAdd();
masthead.checkNotificationMessage("Successfully saved configuration"); masthead.checkNotificationMessage("Successfully saved configuration");
cy.wait(["@fetchConfig"]); cy.wait(["@fetchConfig"]);
cy.get(".pf-c-spinner__tail-ball").should("not.exist"); sidebarPage.waitForPageLoad();
for (const event of events) { for (const event of events) {
listingPage.searchItem(event, false).itemExist(event); listingPage.searchItem(event, false).itemExist(event);

View file

@ -28,7 +28,7 @@ describe("Group creation", () => {
function createNewGroup() { function createNewGroup() {
groupName += "_" + (Math.random() + 1).toString(36).substring(7); groupName += "_" + (Math.random() + 1).toString(36).substring(7);
cy.get(".pf-c-spinner__tail-ball").should("not.exist"); sidebarPage.waitForPageLoad();
groupModal.open().fillGroupForm(groupName).clickCreate(); groupModal.open().fillGroupForm(groupName).clickCreate();
groupsList = [...groupsList, groupName]; groupsList = [...groupsList, groupName];

View file

@ -101,4 +101,9 @@ export default class SidebarPage {
return this; return this;
} }
waitForPageLoad() {
cy.get(".pf-c-spinner__tail-ball").should("not.exist");
return this;
}
} }

View file

@ -370,13 +370,12 @@ export function KeycloakDataTable<T>({
setRows([...data!]); setRows([...data!]);
}; };
const noData = !data || data.length === 0;
const searching = search !== "" || isSearching;
return ( return (
<> <>
{((data && data.length > 0) || {(loading || !noData || searching) && (
search !== "" ||
isSearching ||
emptyState ||
loading) && (
<PaginatingTableToolbar <PaginatingTableToolbar
count={data?.length || 0} count={data?.length || 0}
first={first} first={first}
@ -396,7 +395,7 @@ export function KeycloakDataTable<T>({
toolbarItem={toolbarItem} toolbarItem={toolbarItem}
subToolbar={subToolbar} subToolbar={subToolbar}
> >
{!loading && data && data.length > 0 && ( {!loading && !noData && (
<DataTable <DataTable
{...props} {...props}
canSelectAll={canSelectAll} canSelectAll={canSelectAll}
@ -411,25 +410,19 @@ export function KeycloakDataTable<T>({
ariaLabelKey={ariaLabelKey} ariaLabelKey={ariaLabelKey}
/> />
)} )}
{!loading && {!loading && noData && searching && (
(!data || data.length === 0) && <ListEmptyState
(search !== "" || isSearching) && ( hasIcon={true}
<ListEmptyState icon={icon}
hasIcon={true} isSearchVariant={true}
icon={icon} message={t("noSearchResults")}
isSearchVariant={true} instructions={t("noSearchResultsInstructions")}
message={t("noSearchResults")} />
instructions={t("noSearchResultsInstructions")} )}
/>
)}
{loading && <Loading />} {loading && <Loading />}
</PaginatingTableToolbar> </PaginatingTableToolbar>
)} )}
{!loading && {!loading && noData && !searching && emptyState}
(!data || data?.length === 0) &&
search === "" &&
!isSearching &&
emptyState}
</> </>
); );
} }

View file

@ -111,7 +111,7 @@ export const LocalizationTab = ({
const options = [ const options = [
<SelectGroup label={t("defaultLocale")} key="group1"> <SelectGroup label={t("defaultLocale")} key="group1">
{watchSupportedLocales {watchSupportedLocales
?.filter((item) => item === realm?.defaultLocale) ?.filter((item) => item === realm.defaultLocale)
.map((locale) => ( .map((locale) => (
<SelectOption key={locale} value={locale}> <SelectOption key={locale} value={locale}>
{t(`allSupportedLocales.${locale}`)} {t(`allSupportedLocales.${locale}`)}
@ -121,7 +121,7 @@ export const LocalizationTab = ({
<Divider key="divider" />, <Divider key="divider" />,
<SelectGroup label={t("supportedLocales")} key="group2"> <SelectGroup label={t("supportedLocales")} key="group2">
{watchSupportedLocales {watchSupportedLocales
?.filter((item) => item !== realm?.defaultLocale) ?.filter((item) => item !== realm.defaultLocale)
.map((locale) => ( .map((locale) => (
<SelectOption key={locale} value={locale}> <SelectOption key={locale} value={locale}>
{t(`allSupportedLocales.${locale}`)} {t(`allSupportedLocales.${locale}`)}
@ -246,7 +246,7 @@ export const LocalizationTab = ({
isOpen={supportedLocalesOpen} isOpen={supportedLocalesOpen}
placeholderText={"Select locales"} placeholderText={"Select locales"}
> >
{themeTypes?.login![0].locales.map( {themeTypes.login![0].locales.map(
(locale: string, idx: number) => ( (locale: string, idx: number) => (
<SelectOption <SelectOption
selected={true} selected={true}
@ -335,7 +335,6 @@ export const LocalizationTab = ({
<div className="tableBorder"> <div className="tableBorder">
<KeycloakDataTable <KeycloakDataTable
key={tableKey} key={tableKey}
isSearching
loader={selectMenuValueSelected ? tableLoader : loader} loader={selectMenuValueSelected ? tableLoader : loader}
ariaLabelKey="realm-settings:localization" ariaLabelKey="realm-settings:localization"
searchTypeComponent={ searchTypeComponent={