UNPKG

yalento

Version:

An awesome integration of Google Firebase for Angular and Node

71 lines (70 loc) 4.32 kB
"use strict"; 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); })); }));