Skip to content

Commit

Permalink
Merge pull request #866 from mgwojciech/dev
Browse files Browse the repository at this point in the history
Few more unit tests
  • Loading branch information
AJIXuMuK committed Apr 11, 2021
2 parents ff495b1 + 2fd07a9 commit 9accbb2
Show file tree
Hide file tree
Showing 7 changed files with 356 additions and 67 deletions.
166 changes: 113 additions & 53 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 28 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"@microsoft/sp-tslint-rules": "1.12.0",
"@microsoft/sp-webpart-workbench": "1.12.0",
"@types/chart.js": "2.7.40",
"@types/enzyme": "2.8.7",
"@types/enzyme": "^2.8.12",
"@types/es6-promise": "0.0.33",
"@types/jest": "25.2.3",
"@types/lodash": "4.14.149",
"@types/react": "16.9.36",
Expand All @@ -64,7 +65,7 @@
"amd-loader": "0.0.8",
"chai": "^4.3.4",
"codecov": "3.6.5",
"enzyme": "^2.9.1",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.6",
"gulp": "4.0.2",
"husky": "5.2.0",
Expand Down Expand Up @@ -121,8 +122,32 @@
"moduleNameMapper": {
"@ms/sp-telemetry": "identity-obj-proxy",
"@microsoft/sp-webpart-base": "identity-obj-proxy",
"@microsoft/sp-core-library": "identity-obj-proxy",
"@microsoft/sp-application-base": "identity-obj-proxy",
"^resx-strings/en-us.json": "<rootDir>/node_modules/@microsoft/sp-core-library/lib/resx-strings/en-us.json",
"office-ui-fabric-react/lib/FocusZone": "identity-obj-proxy",
"office-ui-fabric-react/lib/List": "identity-obj-proxy",
"office-ui-fabric-react/lib/Spinner": "identity-obj-proxy",
"office-ui-fabric-react/lib/Image": "identity-obj-proxy",
"office-ui-fabric-react/lib/Button": "identity-obj-proxy",
"office-ui-fabric-react/lib/components/Button": "identity-obj-proxy",
"office-ui-fabric-react/lib/Selection": "identity-obj-proxy",
"office-ui-fabric-react/lib/Icon": "identity-obj-proxy",
"office-ui-fabric-react/lib/Styling": "identity-obj-proxy",
"office-ui-fabric-react/lib/Check": "identity-obj-proxy",
"office-ui-fabric-react/lib/DetailsList": "identity-obj-proxy",
"office-ui-fabric-react/lib/CommandBar": "identity-obj-proxy",
"office-ui-fabric-react/lib/ContextualMenu": "identity-obj-proxy",
"office-ui-fabric-react/lib/ScrollablePane": "identity-obj-proxy",
"office-ui-fabric-react/lib/Breadcrumb": "identity-obj-proxy",
"office-ui-fabric-react/lib/Link": "identity-obj-proxy",
"office-ui-fabric-react/lib/Dialog": "identity-obj-proxy",
"office-ui-fabric-react/lib/common/DirectionalHint": "identity-obj-proxy",
"office-ui-fabric-react/lib/Persona": "identity-obj-proxy",
"office-ui-fabric-react/lib/HoverCard": "identity-obj-proxy",
"office-ui-fabric-react/lib/components/Icon": "identity-obj-proxy",
"@pnp/sp": "identity-obj-proxy",
"'@pnp/sp/fields": "identity-obj-proxy",
"ControlStrings": "identity-obj-proxy",
"\\.(css|scss)$": "identity-obj-proxy"
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
///<reference types="jest" />

import * as React from "react";
import { mount, configure } from "enzyme";
import * as Adapter from 'enzyme-adapter-react-16';
import { DocumentLibraryBrowser } from "../../../src/controls/filePicker/controls/DocumentLibraryBrowser/DocumentLibraryBrowser";
import { MockFileBrowserService } from "../../mock/services/MockFileBrowserService";
import { assert } from "chai";
import { ILibrary } from "../../../src/services/FileBrowserService.types";

configure({ adapter: new Adapter() });

describe("<DocumentLibraryBrowser />", ()=>{
test("should load initial data", async ()=>{
let browserService = new MockFileBrowserService();
browserService.getSiteMediaLibrariesResult = [{
title: "Test library title",
absoluteUrl: "https://test.sharepoint.com/sites/test-site/TestLibrary",
serverRelativeUrl: "/sites/test-site/TestLibrary",
webRelativeUrl: "/sites/test-site/TestLibrary",
iconPath: "/sites/test-site/Assets/icon.png"
}]
let documentLibraryBrowser = mount(<DocumentLibraryBrowser
fileBrowserService={browserService as any}
onOpenLibrary={()=>{

}}
/>);
assert.equal(documentLibraryBrowser.getDOMNode().tagName, "SPINNER");

await documentLibraryBrowser.instance().componentDidMount();
documentLibraryBrowser.update();

assert.equal(documentLibraryBrowser.getDOMNode().tagName, "DIV");
assert.deepEqual(documentLibraryBrowser.instance().state.lists,browserService.getSiteMediaLibrariesResult);
});
test("should render library title", async ()=>{
let browserService = new MockFileBrowserService();
browserService.getSiteMediaLibrariesResult = [{
title: "Test library title",
absoluteUrl: "https://test.sharepoint.com/sites/test-site/TestLibrary",
serverRelativeUrl: "/sites/test-site/TestLibrary",
webRelativeUrl: "/sites/test-site/TestLibrary",
iconPath: "/sites/test-site/Assets/icon.png"
}]
let documentLibraryBrowser = mount(<DocumentLibraryBrowser
fileBrowserService={browserService as any}
onOpenLibrary={()=>{

}}
/>);
//@ts-ignore
let libraryTitle = documentLibraryBrowser.instance()._onRenderLibraryTile(browserService.getSiteMediaLibrariesResult[0],0);
let iconControl = libraryTitle.props.children.props.children.props.children[0];
let buttonControl = libraryTitle.props.children.props.children.props.children[1];
assert.equal(iconControl.type,"Image");
assert.equal(buttonControl.type,"DefaultButton");
});
test("should call onOpenLibrary", async ()=>{
let asserted = false;
let browserService = new MockFileBrowserService();
browserService.getSiteMediaLibrariesResult = [{
title: "Test library title",
absoluteUrl: "https://test.sharepoint.com/sites/test-site/TestLibrary",
serverRelativeUrl: "/sites/test-site/TestLibrary",
webRelativeUrl: "/sites/test-site/TestLibrary",
iconPath: "/sites/test-site/Assets/icon.png"
}]
let documentLibraryBrowser = mount(<DocumentLibraryBrowser
fileBrowserService={browserService as any}
onOpenLibrary={(selectedLibrary: ILibrary)=>{
asserted = true;
assert.deepEqual(selectedLibrary,browserService.getSiteMediaLibrariesResult[0]);
}}
/>);
//@ts-ignore
documentLibraryBrowser.instance()._handleOpenLibrary(browserService.getSiteMediaLibrariesResult[0]);
assert.isTrue(asserted);
});
test("should _getItemCountForPage 0", async ()=>{
let browserService = new MockFileBrowserService();
let documentLibraryBrowser = mount(<DocumentLibraryBrowser
fileBrowserService={browserService as any}
onOpenLibrary={(selectedLibrary: ILibrary)=>{
}}
/>);
//@ts-ignore
documentLibraryBrowser.instance()._columnsCount = 4;
//@ts-ignore
assert.equal(documentLibraryBrowser.instance()._getItemCountForPage(0,{
width: 1000
}),12);
});
});
Loading

0 comments on commit 9accbb2

Please sign in to comment.