blob: e5dbfb231c0cea7cf85d30d8b467ea6076493dcc [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const { login } = require("../util/test-helper");
const { doneLoading } = require("../utils");
describe("Reference Component Tests", () => {
beforeEach(() => {
login();
});
describe("home", () => {
it("basic", () => {
cy.visit("/cms/start.html");
cy.get(
'form[action="/mnt/overlay/sling-cms/content/start/jcr:content/container/scrollcontainer/recent.search.html"]'
).should("be.visible");
cy.get('nav[aria-label="Manage"]').should("be.visible");
cy.get('nav[aria-label="Tools"]').should("be.visible");
cy.pa11y();
});
it("profile", () => {
cy.visit("/cms/start.html");
cy.get(".navbar-burger").click();
cy.get('.navbar a[data-title="User Profile"]').click();
doneLoading();
cy.get(".modal").should("be.visible");
});
});
describe("Tools", () => {
it("Bulk Replace", () => {
cy.visit("/cms/admin/bulkreplace.html");
cy.pa11y();
cy.get("input[name='suffix'").type("/content");
cy.get("button[type=submit]").click();
cy.get('input[name="updateProperties"]').type("haystack");
cy.get('input[name="find"]').type("noodle");
cy.get('input[name="find"]').type("needle");
cy.get("button[type=submit]").click();
doneLoading();
});
it("Config", () => {
cy.visit("/cms/config/configs.html/conf");
cy.get('a[data-title="Add Config Context"]').should("be.visible");
cy.visit("/cms/config/buckets.html/conf/global");
cy.get('a[data-title="Add Bucket"]').should("be.visible");
cy.visit("/cms/config/bucket.html/conf/global/files");
cy.get('a[data-title="Add Config"]').should("be.visible");
cy.visit("/cms/config/edit.html/conf/global/files/editors");
cy.get("a.action-button").should("be.visible");
cy.pa11y();
cy.visit("/cms/config/edit.html/conf/global/files/transformations");
cy.get('a[data-title="Add Transformation"]').should("be.visible");
cy.visit(
"/cms/transformations/edit.html/conf/global/files/transformations/sling-cms-thumbnail"
);
cy.get("a.action-button").should("be.visible");
cy.pa11y();
cy.visit("/cms/config/bucket.html/conf/global/site");
cy.get('a[data-title="Add Config"]').should("be.visible");
cy.visit("/cms/config/edit.html/conf/global/site/policies");
cy.get("a.action-button").should("be.visible");
cy.pa11y();
cy.visit("/cms/config/edit.html/conf/global/site/rewrite");
cy.get("a.action-button").should("be.visible");
cy.pa11y();
cy.visit("/cms/config/edit.html/conf/global/site/settings");
cy.get("a.action-button").should("be.visible");
cy.pa11y();
cy.visit("/cms/config/edit.html/conf/global/site/templates");
cy.get('a[data-title="Add Template"]').should("be.visible");
cy.visit("/cms/template/edit.html/conf/global/site/templates/fragment");
cy.get("a.action-button").should("be.visible");
cy.pa11y();
});
it("i18n", () => {
cy.visit("/cms/i18n/dictionaries.html/apps/reference");
cy.get('a[data-title="Add i18n Dictionary"]').should("be.visible");
cy.get("main td[data-value='/apps/reference/i18n'] a").click();
cy.get('a[data-title="Add Language"]').should("be.visible");
cy.get('a[data-title="Add Entry"]').should("be.visible");
cy.get("button.is-primary").should("be.visible");
});
it("Jobs", () => {
cy.visit("/cms/jobs/list.html");
cy.get('a[data-title="Add Start Job"]').click();
cy.get("select[name='_job']").select("Bulk Publication");
cy.get(".repeating__add").click();
cy.get(".repeating__container input[name=paths]").type(
"/content/not/a/path"
);
cy.get("button[type=submit]").click();
doneLoading();
cy.wait(2000);
cy.get(".modal .close-modal.is-primary").click();
cy.get(".Main-Content tbody tr:first-child td:nth-child(2) a").click();
cy.get("dl").should("be.visible");
cy.pa11y();
});
it("Load Content", () => {
cy.visit("/cms/admin/loadcontent.html");
cy.pa11y();
cy.get("input[name='suffix'").type("/content/it");
cy.get("button[type=submit]").click();
const text = JSON.stringify({ "jcr:primaryType": "sling:Folder" });
cy.get("textarea[name=':content']").type(text, {
parseSpecialCharSequences: false,
});
cy.get("button[type=submit]").click();
doneLoading();
cy.pa11y();
});
it("Publication", () => {
cy.visit("/cms/publication/home.html");
cy.pa11y();
});
it("Query Debugger", () => {
cy.visit("/cms/admin/querydebug.html");
cy.get('textarea[name="statement"]').type("SELECT * FROM [sling:Page]");
cy.get("button[type=submit]").click();
doneLoading();
cy.get("#query-debug dl").should("be.visible");
});
it("Static", () => {
cy.visit("/cms/static/content.html/static/clientlibs/sling-cms");
cy.get('a[data-title="Add File"]').should("be.visible");
cy.get('a[data-title="Add Folder"]').should("be.visible");
});
it("Users/Groups", () => {
cy.visit("/cms/auth/list.html/home/users");
cy.get('a[data-title="Add User"]').click();
cy.get(".modal").should("be.visible");
cy.visit("/cms/auth/list.html/home/groups");
cy.get('a[data-title="Add Group"]').click();
cy.get(".modal").should("be.visible");
});
});
});