diff --git a/js/app.js b/js/app.js
index 520bedbd..cb7e3ab5 100644
--- a/js/app.js
+++ b/js/app.js
@@ -69,7 +69,7 @@ class AppGateway {
load(settings) {
let type = 'default';
let subdomain = 'www';
- let redirectRoute = ();
+ let redirectRoute = ();
if (settings) {
type = settings.type;
diff --git a/js/components/ascribe_forms/form_register_piece.js b/js/components/ascribe_forms/form_register_piece.js
index b09d29ac..1c05b4d2 100644
--- a/js/components/ascribe_forms/form_register_piece.js
+++ b/js/components/ascribe_forms/form_register_piece.js
@@ -34,7 +34,11 @@ let RegisterPieceForm = React.createClass({
children: React.PropTypes.oneOfType([
React.PropTypes.arrayOf(React.PropTypes.element),
React.PropTypes.element
- ])
+ ]),
+
+ onSingleTestComplete: React.PropTypes.func,
+ onTestsStart: React.PropTypes.func,
+ onTestsComplete: React.PropTypes.func
},
getDefaultProps() {
@@ -73,36 +77,51 @@ let RegisterPieceForm = React.createClass({
});
},
+ getUploadTests() {
+ return [
+ {
+ 'name': 'Direct to S3',
+ 'endpoint': 'https://ascribe0.s3.amazonaws.com'
+ },
+ {
+ 'name': 'Direct to S3 with large chunking',
+ 'endpoint': 'https://ascribe0.s3.amazonaws.com',
+ 'chunkSize': 52428800
+ },
+ {
+ 'name': 'Fastly to S3',
+ 'endpoint': 'http://www.ascribe.io.global.prod.fastly.net'
+ },
+ {
+ 'name': 'Fastly to S3 with large chunking',
+ 'endpoint': 'http://www.ascribe.io.global.prod.fastly.net',
+ 'chunkSize': 52428800
+ }
+ ];
+ },
+
+ onTestComplete(testInfo) {
+ this.props.onSingleTestComplete(testInfo);
+
+ const uploadTests = this.getUploadTests();
+ if (testInfo.name === uploadTests[uploadTests.length - 1].name) {
+ this.props.onTestsComplete();
+ }
+ },
+
render() {
let currentUser = this.state.currentUser;
let enableLocalHashing = currentUser && currentUser.profile ? currentUser.profile.hash_locally : false;
enableLocalHashing = enableLocalHashing && this.props.enableLocalHashing;
return (
-