test(state_mgr): fix broken test
This commit is contained in:
parent
3b1508af51
commit
ac797848e8
2 changed files with 37 additions and 18 deletions
|
@ -2,11 +2,11 @@ import { List, Set, Map } from "immutable";
|
||||||
import { mock, instance } from "ts-mockito";
|
import { mock, instance } from "ts-mockito";
|
||||||
|
|
||||||
import { StateMgr } from "../state_mgr";
|
import { StateMgr } from "../state_mgr";
|
||||||
import { User } from "../../client";
|
import { User, UploadInfo } from "../../client";
|
||||||
import { MockFilesClient, resps as filesResps } from "../../client/files_mock";
|
import { MockFilesClient, resps as filesResps } from "../../client/files_mock";
|
||||||
import { MockUsersClient, resps as usersResps } from "../../client/users_mock";
|
import { MockUsersClient, resps as usersResps } from "../../client/users_mock";
|
||||||
import { ICoreState, newWithWorker } from "../core_state";
|
import { ICoreState, newWithWorker } from "../core_state";
|
||||||
import { MockWorker } from "../../worker/interface";
|
import { MockWorker, UploadState, UploadEntry } from "../../worker/interface";
|
||||||
|
|
||||||
describe("State Manager", () => {
|
describe("State Manager", () => {
|
||||||
test("initUpdater", async () => {
|
test("initUpdater", async () => {
|
||||||
|
@ -35,8 +35,20 @@ describe("State Manager", () => {
|
||||||
List(filesResps.listSharingsMockResp.data.sharingDirs)
|
List(filesResps.listSharingsMockResp.data.sharingDirs)
|
||||||
);
|
);
|
||||||
expect(coreState.browser.uploadings).toEqual(
|
expect(coreState.browser.uploadings).toEqual(
|
||||||
List(filesResps.listUploadingsMockResp.data.uploadInfos)
|
List<UploadEntry>(
|
||||||
|
filesResps.listUploadingsMockResp.data.uploadInfos.map((info: UploadInfo) => {
|
||||||
|
return {
|
||||||
|
file: undefined,
|
||||||
|
filePath: info.realFilePath,
|
||||||
|
size: info.size,
|
||||||
|
uploaded: info.uploaded,
|
||||||
|
state: UploadState.Ready,
|
||||||
|
err: "",
|
||||||
|
};
|
||||||
|
})
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(coreState.browser.items).toEqual(
|
expect(coreState.browser.items).toEqual(
|
||||||
List(filesResps.listHomeMockResp.data.metadatas)
|
List(filesResps.listHomeMockResp.data.metadatas)
|
||||||
);
|
);
|
||||||
|
|
|
@ -15,7 +15,7 @@ import {
|
||||||
} from "../client";
|
} from "../client";
|
||||||
import { FilesClient } from "../client/files";
|
import { FilesClient } from "../client/files";
|
||||||
import { UsersClient } from "../client/users";
|
import { UsersClient } from "../client/users";
|
||||||
import { UploadEntry } from "../worker/interface";
|
import { UploadEntry, UploadState } from "../worker/interface";
|
||||||
import { Up } from "../worker/upload_mgr";
|
import { Up } from "../worker/upload_mgr";
|
||||||
import { alertMsg } from "../common/env";
|
import { alertMsg } from "../common/env";
|
||||||
import { LocalStorage } from "../common/localstorage";
|
import { LocalStorage } from "../common/localstorage";
|
||||||
|
@ -110,25 +110,32 @@ export class Updater {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
let remoteUploads = Map<string, UploadInfo>([]);
|
let localUploads = Map<string, UploadEntry>([]);
|
||||||
luResp.data.uploadInfos.forEach((info: UploadInfo) => {
|
this.props.browser.uploadings.forEach((entry: UploadEntry) => {
|
||||||
remoteUploads = remoteUploads.set(info.realFilePath, info);
|
localUploads = localUploads.set(entry.filePath, entry);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
let updatedUploads = List<UploadEntry>([]);
|
let updatedUploads = List<UploadEntry>([]);
|
||||||
this.props.browser.uploadings.forEach((localInfo: UploadEntry) => {
|
luResp.data.uploadInfos.forEach((remoteInfo: UploadInfo) => {
|
||||||
const remoteInfo = remoteUploads.get(localInfo.filePath);
|
const localEntry = localUploads.get(remoteInfo.realFilePath);
|
||||||
if (remoteInfo == null) {
|
if (localEntry == null) {
|
||||||
// TODO: i18n
|
updatedUploads = updatedUploads.push({
|
||||||
localInfo.err = "not found in server";
|
file: undefined,
|
||||||
} else {
|
filePath: remoteInfo.realFilePath,
|
||||||
updatedUploads.push({
|
|
||||||
file: localInfo.file,
|
|
||||||
filePath: localInfo.filePath,
|
|
||||||
size: remoteInfo.size,
|
size: remoteInfo.size,
|
||||||
uploaded: remoteInfo.uploaded,
|
uploaded: remoteInfo.uploaded,
|
||||||
state: localInfo.state,
|
state: UploadState.Ready,
|
||||||
err: localInfo.err,
|
err: "",
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
updatedUploads = updatedUploads.push({
|
||||||
|
file: localEntry.file,
|
||||||
|
filePath: localEntry.filePath,
|
||||||
|
size: remoteInfo.size,
|
||||||
|
uploaded: remoteInfo.uploaded,
|
||||||
|
state: localEntry.state,
|
||||||
|
err: localEntry.err,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue