yalento
Version:
An awesome integration of Google Firebase for Angular and Node
71 lines (70 loc) • 4.32 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Contact = void 0;
const chai_1 = require("chai");
const mocha_1 = require("mocha");
const Repository_1 = require("../Repository");
class Contact {
constructor() {
this.name = '';
this.lastName = '';
this.street = '';
this.age = 0;
}
}
exports.Contact = Contact;
mocha_1.describe('QueryPaginatorTest', () => __awaiter(void 0, void 0, void 0, function* () {
mocha_1.it('select operation on repository should return query paginator with correct length', () => __awaiter(void 0, void 0, void 0, function* () {
const repository = new Repository_1.Repository(Contact, 'Contact');
const select = repository.select({}, { pageSize: 1 });
yield repository.createMany([{}, {}, {}, {}, {}, {}, {}, {}, {}, {}]);
yield select.getResultsAsPromise();
chai_1.expect(select.getPaginator().getLength()).to.be.eq(10);
chai_1.expect(select.getPaginator().getResults()).to.be.lengthOf(1);
}));
mocha_1.it('paginator should work with page changes and default values', () => __awaiter(void 0, void 0, void 0, function* () {
const repository = new Repository_1.Repository(Contact, 'Contact');
const select = repository.select({}, { pageSize: 1 });
yield repository.createMany([{}, {}, {}, {}, {}, {}, {}, {}, {}, {}]);
yield select.getResultsAsPromise();
chai_1.expect(select.getPaginator().getLength()).to.be.eq(10);
chai_1.expect(select.getPaginator().getResults()).to.be.lengthOf(1);
yield select.getPaginator().setPageSize(2);
chai_1.expect(select.getPaginator().getLength()).to.be.eq(10);
chai_1.expect(select.getPaginator().getResults()).to.be.lengthOf(2);
yield select.getPaginator().setPage({ pageSize: 3, pageIndex: 1 });
chai_1.expect(select.getPaginator().getLength()).to.be.eq(10);
chai_1.expect(select.getPaginator().getResults()).to.be.lengthOf(3);
yield select.getPaginator().setPage({ pageSize: 3, pageIndex: 4 });
chai_1.expect(select.getPaginator().getLength()).to.be.eq(10);
chai_1.expect(select.getPaginator().getResults()).to.be.lengthOf(1);
yield select.getPaginator().setPage({});
chai_1.expect(select.getPaginator().getLength()).to.be.eq(10);
chai_1.expect(select.getPaginator().getResults()).to.be.lengthOf(1);
}));
mocha_1.it('selecting item on paginators should return correct state', () => __awaiter(void 0, void 0, void 0, function* () {
const repository = new Repository_1.Repository(Contact, 'Contact');
const select = repository.select({}, { pageSize: 1 });
yield repository.createMany([{ age: 1 }, { age: 2 }, { age: 3 }, { age: 4 }, { age: 5 }]);
const results = yield select.getResultsAsPromise();
chai_1.expect(select.getPaginator().getSelectedCount().getValue()).to.be.equal(0);
select.getPaginator().toggleSelection(results[0]);
chai_1.expect(select.getPaginator().getSelectedCount().getValue()).to.be.equal(1);
chai_1.expect(select.getPaginator().getSelected()[0].age).to.be.equal(1);
chai_1.expect(select.getPaginator().isSelected(results[0])).to.be.true;
select.getPaginator().toggleSelection();
chai_1.expect(select.getPaginator().getSelectedCount().getValue()).to.be.equal(5);
chai_1.expect(select.getPaginator().getSelected()).to.be.lengthOf(5);
select.getPaginator().toggleSelection();
chai_1.expect(select.getPaginator().getSelected()).to.be.lengthOf(0);
}));
}));