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 */ 15import {PageNation} from '../../../../src/base-ui/chart/pagenation/PageNation'; 16import {PaginationBox} from '../../../../src/base-ui/chart/pagenation/PaginationBox'; 17 18// @ts-ignore 19window.ResizeObserver = window.ResizeObserver || jest.fn().mockImplementation(() => ({ 20 disconnect: jest.fn(), 21 observe: jest.fn(), 22 unobserve: jest.fn(), 23})); 24 25describe('PageNation Test', () => { 26 it('pageNationTest01', function () { 27 document.body.innerHTML = ` 28 <pagination-box id="pagination-info"></pagination-box> `; 29 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 30 let pageNation = new PageNation(pageInfo, { 31 current: 1, 32 totalpage: 9, 33 pageSize: 50, 34 change(num: number) {}, 35 }); 36 expect(pageNation).not.toBeUndefined(); 37 }); 38 39 it('pageNationTest01', function () { 40 document.body.innerHTML = ` 41 <pagination-box id="pagination-info"></pagination-box> `; 42 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 43 let pageNation = new PageNation(pageInfo, { 44 current: 1, 45 totalpage: 200, 46 pageSize: 50, 47 change(num: number) {}, 48 }); 49 expect(pageNation.pageInfo.current).toEqual(1); 50 }); 51 52 it('pageNationTest02', function () { 53 document.body.innerHTML = ` 54 <pagination-box id="pagination-info"></pagination-box> `; 55 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 56 let pageNation = new PageNation(pageInfo, { 57 current: 1, 58 totalpage: 1000, 59 pageSize: 10, 60 change(num: number) {}, 61 }); 62 expect(pageNation.pageInfo.pageSize).toEqual(10); 63 }); 64 65 it('pageNationTest03', function () { 66 document.body.innerHTML = ` 67 <pagination-box id="pagination-info"></pagination-box> `; 68 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 69 let pageNation = new PageNation(pageInfo, { 70 current: 5, 71 totalpage: 1000, 72 pageSize: 10, 73 change(num: number) {}, 74 }); 75 expect(pageNation).not.toBeUndefined(); 76 }); 77 78 it('pageNationTest04', function () { 79 document.body.innerHTML = ` 80 <pagination-box id="pagination-info"></pagination-box> `; 81 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 82 let pageNation = new PageNation(pageInfo, { 83 current: 149, 84 totalpage: 150, 85 pageSize: 10, 86 change(num: number) {}, 87 }); 88 expect(pageNation.pageInfo.totalpage).toEqual(150); 89 }); 90 91 it('pageNationTest05', function () { 92 document.body.innerHTML = ` 93 <pagination-box id="pagination-info"></pagination-box> `; 94 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 95 let pageNation = new PageNation(pageInfo, { 96 current: 11, 97 totalpage: 15, 98 pageSize: 10, 99 change(num: number) {}, 100 }); 101 expect(pageNation.pageInfo.total).toEqual(100); 102 }); 103 104 it('pageNationTest06', function () { 105 document.body.innerHTML = ` 106 <pagination-box id="pagination-info"></pagination-box> `; 107 let pageInfo = document.getElementById('pagination-info') as PaginationBox; 108 let pageNation = new PageNation(pageInfo, { 109 current: 1, 110 totalpage: 150, 111 pageSize: 10, 112 change(num: number) {}, 113 }); 114 let mouseMoveEvent: MouseEvent = new MouseEvent('click', <MouseEventInit>{ movementX: 1, movementY: 2 }); 115 pageNation.element.dispatchEvent(mouseMoveEvent); 116 }); 117}) 118