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 { StateMgr } from "../state_mgr";
|
||||
import { User } from "../../client";
|
||||
import { User, UploadInfo } from "../../client";
|
||||
import { MockFilesClient, resps as filesResps } from "../../client/files_mock";
|
||||
import { MockUsersClient, resps as usersResps } from "../../client/users_mock";
|
||||
import { ICoreState, newWithWorker } from "../core_state";
|
||||
import { MockWorker } from "../../worker/interface";
|
||||
import { MockWorker, UploadState, UploadEntry } from "../../worker/interface";
|
||||
|
||||
describe("State Manager", () => {
|
||||
test("initUpdater", async () => {
|
||||
|
@ -35,8 +35,20 @@ describe("State Manager", () => {
|
|||
List(filesResps.listSharingsMockResp.data.sharingDirs)
|
||||
);
|
||||
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(
|
||||
List(filesResps.listHomeMockResp.data.metadatas)
|
||||
);
|
||||
|
|
|
@ -15,7 +15,7 @@ import {
|
|||
} from "../client";
|
||||
import { FilesClient } from "../client/files";
|
||||
import { UsersClient } from "../client/users";
|
||||
import { UploadEntry } from "../worker/interface";
|
||||
import { UploadEntry, UploadState } from "../worker/interface";
|
||||
import { Up } from "../worker/upload_mgr";
|
||||
import { alertMsg } from "../common/env";
|
||||
import { LocalStorage } from "../common/localstorage";
|
||||
|
@ -110,25 +110,32 @@ export class Updater {
|
|||
return false;
|
||||
}
|
||||
|
||||
let remoteUploads = Map<string, UploadInfo>([]);
|
||||
luResp.data.uploadInfos.forEach((info: UploadInfo) => {
|
||||
remoteUploads = remoteUploads.set(info.realFilePath, info);
|
||||
let localUploads = Map<string, UploadEntry>([]);
|
||||
this.props.browser.uploadings.forEach((entry: UploadEntry) => {
|
||||
localUploads = localUploads.set(entry.filePath, entry);
|
||||
})
|
||||
|
||||
|
||||
let updatedUploads = List<UploadEntry>([]);
|
||||
this.props.browser.uploadings.forEach((localInfo: UploadEntry) => {
|
||||
const remoteInfo = remoteUploads.get(localInfo.filePath);
|
||||
if (remoteInfo == null) {
|
||||
// TODO: i18n
|
||||
localInfo.err = "not found in server";
|
||||
} else {
|
||||
updatedUploads.push({
|
||||
file: localInfo.file,
|
||||
filePath: localInfo.filePath,
|
||||
luResp.data.uploadInfos.forEach((remoteInfo: UploadInfo) => {
|
||||
const localEntry = localUploads.get(remoteInfo.realFilePath);
|
||||
if (localEntry == null) {
|
||||
updatedUploads = updatedUploads.push({
|
||||
file: undefined,
|
||||
filePath: remoteInfo.realFilePath,
|
||||
size: remoteInfo.size,
|
||||
uploaded: remoteInfo.uploaded,
|
||||
state: localInfo.state,
|
||||
err: localInfo.err,
|
||||
state: UploadState.Ready,
|
||||
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