blob: c7ddc2add758b7e6b3401a20cb35df282b92927c [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.
*/
import {Selector} from 'testcafe';
import {dropTestDB, insertTestUser, resolveUrl} from '../../environment/envtools';
import {createRegularUser} from '../../roles';
import {PageQueriesNotebooksList} from '../../page-models/PageQueries';
const regularUser = createRegularUser();
const notebooksListPage = new PageQueriesNotebooksList();
const notebookName = 'test_notebook';
fixture('Checking Ignite queries notebooks list')
.before(async() => {
await dropTestDB();
await insertTestUser();
})
.beforeEach(async(t) => {
await t.useRole(regularUser);
await t.navigateTo(resolveUrl('/queries/notebooks'));
})
.after(async() => {
await dropTestDB();
});
test('Testing creating notebook', async(t) => {
await notebooksListPage.createNotebook(notebookName);
await t.expect(Selector('.notebook-name a').withText(notebookName).exists).ok();
});
test('Testing cloning notebook', async(t) => {
await notebooksListPage.cloneNotebook(notebookName);
await t.expect(Selector('.notebook-name a').withText(`${notebookName}_1`).exists).ok();
});
test.skip('Testing forbidding of creating notebook with existing name', async(t) => {
// Todo: Implement this test after investigation on reason of testcafe blocking notebooks API query.
});
test('Testing deleting notebooks', async(t) => {
await notebooksListPage.deleteAllNotebooks();
await t.expect(Selector('.notebook-name a').withText(`${notebookName}_1`).exists).notOk();
});