mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-11-25 18:20:20 -06:00
227 lines
5.6 KiB
JavaScript
227 lines
5.6 KiB
JavaScript
/////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin 4 - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
/////////////////////////////////////////////////////////////
|
|
|
|
import {
|
|
isTreeItemOfChildOfSchema, childCreateMenuEnabled,
|
|
} from 'pgadmin.schema.dir/schema_child_tree_node';
|
|
import pgAdmin from 'sources/pgadmin';
|
|
import {TreeFake} from '../../tree/tree_fake';
|
|
|
|
let beforeActionForSchema = (tree, pgBrowser)=> {
|
|
let hierarchy = {
|
|
id: 'root',
|
|
children: [{
|
|
id: 'level2',
|
|
data: {_type: 'schema'},
|
|
children: [{
|
|
id: 'coll-table',
|
|
data: {_type: 'coll-table'},
|
|
children: [{
|
|
id: 'table/1',
|
|
data: {_type: 'table'},
|
|
}],
|
|
}],
|
|
}],
|
|
};
|
|
|
|
pgBrowser.tree = TreeFake.build(hierarchy, pgBrowser);
|
|
};
|
|
|
|
let beforeActionForCatalog = (tree, pgBrowser)=> {
|
|
let hierarchy = {
|
|
id: 'root',
|
|
children: [{
|
|
id: 'level2',
|
|
data: {_type: 'catalog'},
|
|
children: [{
|
|
id: 'coll-table',
|
|
data: {_type: 'coll-table'},
|
|
children: [{
|
|
id: 'table/1',
|
|
data: {_type: 'table'},
|
|
}],
|
|
}],
|
|
}],
|
|
};
|
|
|
|
pgBrowser.tree = TreeFake.build(hierarchy, pgBrowser);
|
|
};
|
|
|
|
describe('#childCreateMenuEnabled', () => {
|
|
let data,
|
|
tree,
|
|
pgBrowser = pgAdmin.Browser;
|
|
|
|
describe(' - when data is not null', () => {
|
|
beforeEach(() => {
|
|
data = {};
|
|
});
|
|
describe(' and check is false', () => {
|
|
beforeEach(() => {
|
|
data = {check: false};
|
|
});
|
|
it(', then it returns true', () => {
|
|
expect(childCreateMenuEnabled({}, {}, data)).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe(' and check', () => {
|
|
describe(' is true', () => {
|
|
beforeEach(() => {
|
|
data = {check: true};
|
|
});
|
|
|
|
describe(', on schema node', () => {
|
|
beforeEach(() => {
|
|
let hierarchy = {
|
|
id: 'root',
|
|
children: [{
|
|
id: 'level2',
|
|
data: {_type: 'schema'},
|
|
}],
|
|
};
|
|
|
|
tree = TreeFake.build(hierarchy, pgBrowser);
|
|
pgBrowser.tree = tree;
|
|
});
|
|
it(' it is true', () => {
|
|
expect(childCreateMenuEnabled(
|
|
{}, [{id: 'level2'}], data
|
|
)).toBe(true);
|
|
|
|
});
|
|
});
|
|
|
|
describe(', on child collection node under schema node ', () => {
|
|
beforeEach(() => {
|
|
let hierarchy = {
|
|
id: 'root',
|
|
children: [{
|
|
id: 'level2',
|
|
data: {_type: 'schema'},
|
|
children: [{
|
|
id: 'coll-table',
|
|
data: {_type: 'coll-table'},
|
|
}],
|
|
}],
|
|
};
|
|
|
|
tree = TreeFake.build(hierarchy, pgBrowser);
|
|
pgBrowser.tree = tree;
|
|
});
|
|
|
|
it(' it is true', () => {
|
|
expect(childCreateMenuEnabled(
|
|
{}, [{id: 'coll-table'}], data
|
|
)).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe(', on one of the child node under schema node ', () => {
|
|
beforeEach(() => {
|
|
beforeActionForSchema(tree, pgBrowser);
|
|
});
|
|
|
|
it(' it is true', () => {
|
|
expect(childCreateMenuEnabled(
|
|
{}, [{id: 'table/1'}], data
|
|
)).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe(', on catalog node', () => {
|
|
beforeEach(() => {
|
|
let hierarchy = {
|
|
id: 'root',
|
|
children: [{
|
|
id: 'level2',
|
|
data: {_type: 'catalog'},
|
|
}],
|
|
};
|
|
|
|
tree = TreeFake.build(hierarchy, pgBrowser);
|
|
pgBrowser.tree = tree;
|
|
});
|
|
it(' it is false', () => {
|
|
expect(
|
|
childCreateMenuEnabled({}, [{id: 'level2'}], data)
|
|
).toBe(false);
|
|
});
|
|
});
|
|
|
|
describe(', on child collection node under catalog node ', () => {
|
|
beforeEach(() => {
|
|
let hierarchy = {
|
|
id: 'root',
|
|
children: [{
|
|
id: 'level2',
|
|
data: {_type: 'catalog'},
|
|
children: [{
|
|
id: 'coll-table',
|
|
data: {_type: 'coll-table'},
|
|
}],
|
|
}],
|
|
};
|
|
|
|
tree = TreeFake.build(hierarchy, pgBrowser);
|
|
pgBrowser.tree = tree;
|
|
});
|
|
|
|
it(' it is false', () => {
|
|
expect(childCreateMenuEnabled(
|
|
{}, [{id: 'coll-table'}], data
|
|
)).toBe(false);
|
|
});
|
|
});
|
|
|
|
describe(', on one of the child node under catalog node ', () => {
|
|
beforeEach(() => {
|
|
beforeActionForCatalog(tree, pgBrowser);
|
|
});
|
|
|
|
it(' it is false', () => {
|
|
expect(childCreateMenuEnabled(
|
|
{}, [{id: 'table/1'}], data
|
|
)).toBe(false);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('#childDropMenuEnabled', () => {
|
|
let tree,
|
|
pgBrowser = pgAdmin.Browser;
|
|
|
|
describe(' - the child node under schema node ', () => {
|
|
beforeEach(() => {
|
|
beforeActionForSchema(tree, pgBrowser);
|
|
});
|
|
|
|
it(' it is true', () => {
|
|
expect(isTreeItemOfChildOfSchema(
|
|
{}, [{id: 'table/1'}]
|
|
)).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe('- the child node under the catalog node ', () => {
|
|
beforeEach(() => {
|
|
beforeActionForCatalog(tree, pgBrowser);
|
|
});
|
|
|
|
it(' it is false', () => {
|
|
expect(isTreeItemOfChildOfSchema(
|
|
{}, [{id: 'table/1'}]
|
|
)).toBe(false);
|
|
});
|
|
});
|
|
});
|