1/* 2 * Copyright (C) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15//@ts-ignore 16import {PageNation} from '../../../../dist/base-ui/chart/pagenation/PageNation.js'; 17//@ts-ignore 18import {PaginationBox} from '../../../../dist/base-ui/chart/pagenation/pagination-box.js'; 19 20// @ts-ignore 21window.ResizeObserver = window.ResizeObserver || jest.fn().mockImplementation(() => ({ 22 disconnect: jest.fn(), 23 observe: jest.fn(), 24 unobserve: jest.fn(), 25})); 26 27describe('PageNation Test', () => { 28 it('pageNationTest01', function () { 29 document.body.innerHTML = ` 30 <pagination-box id="pagination-info"></pagination-box> `; 31 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 32 let pageNation = new PageNation(pageInfo, { 33 current: 1, 34 totalpage: 9, 35 pageSize: 50, 36 change(num: number) {}, 37 }); 38 expect(pageNation).not.toBeUndefined(); 39 }); 40 41 it('pageNationTest01', function () { 42 document.body.innerHTML = ` 43 <pagination-box id="pagination-info"></pagination-box> `; 44 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 45 let pageNation = new PageNation(pageInfo, { 46 current: 1, 47 totalpage: 200, 48 pageSize: 50, 49 change(num: number) {}, 50 }); 51 expect(pageNation.pageInfo.current).toEqual(1); 52 }); 53 54 it('pageNationTest02', function () { 55 document.body.innerHTML = ` 56 <pagination-box id="pagination-info"></pagination-box> `; 57 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 58 let pageNation = new PageNation(pageInfo, { 59 current: 1, 60 totalpage: 1000, 61 pageSize: 10, 62 change(num: number) {}, 63 }); 64 expect(pageNation.pageInfo.pageSize).toEqual(10); 65 }); 66 67 it('pageNationTest03', function () { 68 document.body.innerHTML = ` 69 <pagination-box id="pagination-info"></pagination-box> `; 70 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 71 let pageNation = new PageNation(pageInfo, { 72 current: 5, 73 totalpage: 1000, 74 pageSize: 10, 75 change(num: number) {}, 76 }); 77 expect(pageNation).not.toBeUndefined(); 78 }); 79 80 it('pageNationTest04', function () { 81 document.body.innerHTML = ` 82 <pagination-box id="pagination-info"></pagination-box> `; 83 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 84 let pageNation = new PageNation(pageInfo, { 85 current: 149, 86 totalpage: 150, 87 pageSize: 10, 88 change(num: number) {}, 89 }); 90 expect(pageNation.pageInfo.totalpage).toEqual(150); 91 }); 92 93 it('pageNationTest05', function () { 94 document.body.innerHTML = ` 95 <pagination-box id="pagination-info"></pagination-box> `; 96 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 97 let pageNation = new PageNation(pageInfo, { 98 current: 11, 99 totalpage: 15, 100 pageSize: 10, 101 change(num: number) {}, 102 }); 103 expect(pageNation.pageInfo.total).toEqual(100); 104 }); 105 106 it('pageNationTest06', function () { 107 document.body.innerHTML = ` 108 <pagination-box id="pagination-info"></pagination-box> `; 109 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 110 let pageNation = new PageNation(pageInfo, { 111 current: 1, 112 totalpage: 150, 113 pageSize: 10, 114 change(num: number) {}, 115 }); 116 let mouseMoveEvent: MouseEvent = new MouseEvent('click', <MouseEventInit>{ movementX: 1, movementY: 2 }); 117 pageNation.element.dispatchEvent(mouseMoveEvent); 118 }); 119})