CEC-381 Fix install progress (#77)
* Fix install progress * Remove unused components and inline styles * Update test * errors are not the final update state * Remove max width for main container * Progress starts at 0
This commit is contained in:
23
src/utils/statusMessage.js
Normal file
23
src/utils/statusMessage.js
Normal file
@@ -0,0 +1,23 @@
|
||||
const DOWNLOAD_STATUSES = ["download_start", "downloading", "download_complete", "download_error", "package_download_complete"];
|
||||
const INSTALL_STATUSES = ["install_start", "installing", "install_complete", "install_error", "pacakge_install_complete"];
|
||||
|
||||
export const isDownloadStatusMessage = (status) => {
|
||||
return DOWNLOAD_STATUSES.indexOf(status.msg) > -1;
|
||||
};
|
||||
|
||||
export const isInstallStatusMessage = (status) => {
|
||||
return INSTALL_STATUSES.indexOf(status.msg) > -1;
|
||||
};
|
||||
|
||||
export const validateStatusMessage = (status) => {
|
||||
if (isDownloadStatusMessage(status)) {
|
||||
if (!(status.package_current > -1 && status.package_total > -1)) return false;
|
||||
if (status.package_current > status.package_total) return false;
|
||||
return true;
|
||||
} else if (isInstallStatusMessage(status)) {
|
||||
if (!(status.installed > -1 && status.total_files > -1)) return false;
|
||||
if (status.installed > status.total_files) return false;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
48
src/utils/statusMessage.test.js
Normal file
48
src/utils/statusMessage.test.js
Normal file
@@ -0,0 +1,48 @@
|
||||
import { isDownloadStatusMessage, isInstallStatusMessage, validateStatusMessage} from "./statusMessage";
|
||||
|
||||
describe("validatons", () => {
|
||||
it("isDownloadStatusMessage", () => {
|
||||
expect(isDownloadStatusMessage({ msg: "download_start"})).toEqual(true);
|
||||
expect(isDownloadStatusMessage({ msg: "downloading"})).toEqual(true);
|
||||
expect(isDownloadStatusMessage({ msg: "download_complete"})).toEqual(true);
|
||||
expect(isDownloadStatusMessage({ msg: "download_error"})).toEqual(true);
|
||||
expect(isDownloadStatusMessage({ msg: "package_download_complete"})).toEqual(true);
|
||||
|
||||
expect(isDownloadStatusMessage({ msg: "installing"})).toEqual(false);
|
||||
expect(isDownloadStatusMessage({ msg: "install_start"})).toEqual(false);
|
||||
expect(isDownloadStatusMessage({ msg: "install_complete"})).toEqual(false);
|
||||
expect(isDownloadStatusMessage({ msg: "install_error"})).toEqual(false);
|
||||
expect(isDownloadStatusMessage({ msg: "pacakge_install_complete"})).toEqual(false);
|
||||
});
|
||||
it("isInstallStatusMessage", () => {
|
||||
expect(isInstallStatusMessage({ msg: "download_start"})).toEqual(false);
|
||||
expect(isInstallStatusMessage({ msg: "downloading"})).toEqual(false);
|
||||
expect(isInstallStatusMessage({ msg: "download_complete"})).toEqual(false);
|
||||
expect(isInstallStatusMessage({ msg: "download_error"})).toEqual(false);
|
||||
expect(isInstallStatusMessage({ msg: "package_download_complete"})).toEqual(false);
|
||||
|
||||
expect(isInstallStatusMessage({ msg: "installing"})).toEqual(true);
|
||||
expect(isInstallStatusMessage({ msg: "install_start"})).toEqual(true);
|
||||
expect(isInstallStatusMessage({ msg: "install_complete"})).toEqual(true);
|
||||
expect(isInstallStatusMessage({ msg: "install_error"})).toEqual(true);
|
||||
expect(isInstallStatusMessage({ msg: "pacakge_install_complete"})).toEqual(true);
|
||||
});
|
||||
it("validateStatusMessage", () => {
|
||||
expect(validateStatusMessage({ msg: "download_start", package_current: 0, package_total: 0})).toEqual(true);
|
||||
expect(validateStatusMessage({ msg: "downloading", package_current: 0, package_total: 0})).toEqual(true);
|
||||
expect(validateStatusMessage({ msg: "download_complete", package_current: 0, package_total: 0})).toEqual(true);
|
||||
expect(validateStatusMessage({ msg: "download_error", package_current: 0, package_total: 0})).toEqual(true);
|
||||
expect(validateStatusMessage({ msg: "package_download_complete", package_current: 0, package_total: 0})).toEqual(true);
|
||||
|
||||
expect(validateStatusMessage({ msg: "installing", installed: 0, total_files: 0 })).toEqual(true);
|
||||
expect(validateStatusMessage({ msg: "install_start", installed: 0, total_files: 0 })).toEqual(true);
|
||||
expect(validateStatusMessage({ msg: "install_complete", installed: 0, total_files: 0 })).toEqual(true);
|
||||
expect(validateStatusMessage({ msg: "install_error", installed: 0, total_files: 0 })).toEqual(true);
|
||||
expect(validateStatusMessage({ msg: "pacakge_install_complete", installed: 0, total_files: 0 })).toEqual(true);
|
||||
|
||||
expect(validateStatusMessage({ msg: "downloading", package_current: -1, package_total: -1})).toEqual(false);
|
||||
expect(validateStatusMessage({ msg: "installing", installed: -1, total_files: -1})).toEqual(false);
|
||||
expect(validateStatusMessage({ msg: "download_start", package_current: 100, package_total: 50})).toEqual(false);
|
||||
expect(validateStatusMessage({ msg: "install_start", installed: 10, total_files: 9})).toEqual(false);
|
||||
});
|
||||
})
|
||||
Reference in New Issue
Block a user