diff --git a/package.json b/package.json
index 9b1425c..a4eca05 100644
--- a/package.json
+++ b/package.json
@@ -43,6 +43,7 @@
     "eslint-plugin-promise": "^3.5.0",
     "eslint-plugin-standard": "^3.0.1",
     "jasmine": "^3.1.0",
+    "rewire": "^4.0.1",
     "semver": "^5.3.0"
   },
   "scripts": {
diff --git a/spec/create.spec.js b/spec/create.spec.js
index 3100662..754665d 100644
--- a/spec/create.spec.js
+++ b/spec/create.spec.js
@@ -23,9 +23,10 @@
 
 var shell = require('shelljs');
 var semver = require('semver');
+var rewire = require('rewire');
 var requireFresh = require('import-fresh');
 
-var create = require('..');
+var create = rewire('..');
 var helpers = require('./helpers');
 var events = require('cordova-common').events;
 var CordovaError = require('cordova-common').CordovaError;
@@ -43,6 +44,22 @@
 // Global configuration paths
 var global_config_path = process.env.CORDOVA_HOME || path.join(os.homedir(), '.cordova');
 
+function createWith (rewiring) {
+    return (...args) => create.__with__(rewiring)(() => create(...args));
+}
+
+// Calls create with mocked fetch to not depend on the outside world
+function createWithMockFetch (dir, id, name, cfg, events) {
+    const mockFetchDest = path.join(tmpDir, 'mockFetchDest');
+    const templateDir = path.dirname(require.resolve('cordova-app-hello-world'));
+    const fetchSpy = jasmine.createSpy('fetchSpy')
+        .and.callFake(() => Promise.resolve(mockFetchDest));
+
+    shell.cp('-R', templateDir, mockFetchDest);
+    return createWith({fetch: fetchSpy})(dir, id, name, cfg, events)
+        .then(() => fetchSpy);
+}
+
 // Expect promise to get rejected with a reason matching expectedReason
 function expectRejection (promise, expectedReason) {
     return promise.then(
@@ -185,9 +202,13 @@
                 }
             }
         };
-        return create(project, appId, appName, config, events)
+        return createWithMockFetch(project, appId, appName, config, events)
+            .then(fetchSpy => {
+                expect(fetchSpy).toHaveBeenCalledTimes(1);
+                expect(fetchSpy.calls.argsFor(0)[0]).toBe(config.lib.www.url);
+            })
             .then(checkProject);
-    }, 60000);
+    });
 
     it('should successfully run with NPM package and not use old cache of template on second create', function () {
         var templatePkgJsonPath = path.join(global_config_path, 'node_modules', 'phonegap-template-vue-f7-tabs', 'package.json');
