mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-11-26 02:30:21 -06:00
83 lines
2.4 KiB
JavaScript
83 lines
2.4 KiB
JavaScript
/////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin 4 - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2013 - 2021, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
import HistoryCollection from 'sources/sqleditor/history/history_collection';
|
|
|
|
describe('historyCollection', function () {
|
|
let historyCollection, historyModel, onAddSpy, onResetSpy;
|
|
beforeEach(() => {
|
|
historyModel = [{some: 'thing', someOther: ['array element']}];
|
|
historyCollection = new HistoryCollection(historyModel);
|
|
onAddSpy = jasmine.createSpy('onAddHandler');
|
|
onResetSpy = jasmine.createSpy('onResetHandler');
|
|
|
|
historyCollection.onAdd(onAddSpy);
|
|
historyCollection.onReset(onResetSpy);
|
|
});
|
|
|
|
describe('length', function () {
|
|
it('returns 0 when underlying history model has no elements', function () {
|
|
historyCollection = new HistoryCollection([]);
|
|
|
|
expect(historyCollection.length()).toEqual(0);
|
|
});
|
|
|
|
it('returns the length of the underlying history model', function () {
|
|
expect(historyCollection.length()).toEqual(1);
|
|
});
|
|
});
|
|
|
|
describe('add', function () {
|
|
let expectedHistory;
|
|
let newEntry = {some: 'new thing', someOther: ['value1', 'value2']};
|
|
beforeEach(() => {
|
|
historyCollection.add(newEntry);
|
|
|
|
expectedHistory = [
|
|
{some: 'new thing', someOther: ['value1', 'value2']},
|
|
{some: 'thing', someOther: ['array element']},
|
|
];
|
|
});
|
|
|
|
it('adds a passed entry', function () {
|
|
expect(historyCollection.historyList).toEqual(expectedHistory);
|
|
});
|
|
|
|
it('calls the onChange function', function () {
|
|
expect(onAddSpy).toHaveBeenCalledWith(newEntry);
|
|
});
|
|
});
|
|
|
|
describe('reset', function () {
|
|
beforeEach(() => {
|
|
historyCollection.reset();
|
|
});
|
|
|
|
it('drops the history', function () {
|
|
expect(historyCollection.historyList).toEqual([]);
|
|
expect(historyCollection.length()).toEqual(0);
|
|
});
|
|
|
|
it('calls the onReset function', function () {
|
|
expect(onResetSpy).toHaveBeenCalledWith([]);
|
|
});
|
|
});
|
|
|
|
describe('when instantiated', function () {
|
|
describe('from a history model', function () {
|
|
it('has the historyModel', () => {
|
|
let content = historyCollection.historyList;
|
|
|
|
expect(content).toEqual(historyModel);
|
|
});
|
|
|
|
});
|
|
});
|
|
});
|