some frontend unit tests

This commit is contained in:
Danny Coates 2018-02-20 20:31:27 -08:00
parent 4929437283
commit 78728ce4ca
No known key found for this signature in database
GPG key ID: 4C442633C62E00CB
24 changed files with 708 additions and 417 deletions

View file

@ -145,9 +145,6 @@ function download(id, keychain) {
if (authHeader) {
keychain.nonce = parseNonce(authHeader);
}
if (xhr.status === 404) {
return reject(new Error('notfound'));
}
if (xhr.status !== 200) {
return reject(new Error(xhr.status));
}

View file

@ -188,7 +188,7 @@ export default function(state, emitter) {
}
console.error(err);
state.transfer = null;
const location = err.message === 'notfound' ? '/404' : '/error';
const location = err.message === '404' ? '/404' : '/error';
if (location === '/error') {
state.raven.captureException(err);
metrics.stoppedDownload({ size, err });

View file

@ -59,7 +59,7 @@ export default class FileReceiver extends Nanobus {
return;
}
async download() {
async download(noSave = false) {
this.state = 'downloading';
this.emit('progress', this.progress);
try {
@ -78,11 +78,13 @@ export default class FileReceiver extends Nanobus {
if (this.cancelled) {
throw new Error(0);
}
await saveFile({
plaintext,
name: decodeURIComponent(this.fileInfo.name),
type: this.fileInfo.type
});
if (!noSave) {
await saveFile({
plaintext,
name: decodeURIComponent(this.fileInfo.name),
type: this.fileInfo.type
});
}
this.msg = 'downloadFinish';
this.state = 'complete';
return;

View file

@ -16,7 +16,7 @@ export default class OwnedFile {
this.ownerToken = obj.ownerToken;
this.dlimit = obj.dlimit || 1;
this.dtotal = obj.dtotal || 0;
this.keychain = new Keychain(obj.secretKey);
this.keychain = new Keychain(obj.secretKey, obj.nonce);
this._hasPassword = !!obj.hasPassword;
}
@ -59,6 +59,7 @@ export default class OwnedFile {
if (e.message === '404') {
this.dtotal = this.dlimit;
}
// ignore other errors
}
}