diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js
new file mode 100644
index 0000000..0346f19
--- /dev/null
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- SVG -- Zoom Service - Unit Tests
+
+ @author Simon Hunt
+ */
+describe('factory: fw/svg/zoom.js', function() {
+    var zs;
+
+    beforeEach(module('onosSvg'));
+
+    beforeEach(inject(function (ZoomService) {
+        zs = ZoomService;
+    }));
+
+    it('should define ZoomService', function () {
+        expect(zs).toBeDefined();
+    });
+
+    // TODO: unit tests for map functions
+});
