From befcc374564fad63f56ab580a88f515d636a2b94 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Thu, 2 Jul 2015 11:50:29 +1000 Subject: [PATCH] Fix bug in distanceBetween, update docs, deal with null queries --- .../darkswarm/services/enterprises.js.coffee | 2 +- .../javascripts/darkswarm/services/geo.js.coffee | 15 +++++++-------- .../darkswarm/services/enterprise_spec.js.coffee | 5 +++++ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/darkswarm/services/enterprises.js.coffee b/app/assets/javascripts/darkswarm/services/enterprises.js.coffee index e3efa126e1..89dafa837d 100644 --- a/app/assets/javascripts/darkswarm/services/enterprises.js.coffee +++ b/app/assets/javascripts/darkswarm/services/enterprises.js.coffee @@ -29,7 +29,7 @@ Darkswarm.factory 'Enterprises', (enterprises, CurrentHub, Taxons, Dereferencer, Dereferencer.dereference enterprise.supplied_taxons, Taxons.taxons_by_id updateDistance: (query) -> - if query.length > 0 + if query?.length > 0 @calculateDistance(query) else @resetDistance() diff --git a/app/assets/javascripts/darkswarm/services/geo.js.coffee b/app/assets/javascripts/darkswarm/services/geo.js.coffee index 258b974256..4affe0f33c 100644 --- a/app/assets/javascripts/darkswarm/services/geo.js.coffee +++ b/app/assets/javascripts/darkswarm/services/geo.js.coffee @@ -1,18 +1,17 @@ -# Usage: -# Geo.geocode address, (results, status) -> -# if status == Geo.OK -# console.log results[0].geometry.location -# else -# console.log "Error: #{status}" - Darkswarm.service "Geo", -> new class Geo OK: google.maps.GeocoderStatus.OK + # Usage: + # Geo.geocode address, (results, status) -> + # if status == Geo.OK + # console.log results[0].geometry.location + # else + # console.log "Error: #{status}" geocode: (address, callback) -> geocoder = new google.maps.Geocoder() geocoder.geocode {'address': address}, callback distanceBetween: (locatable, location) -> latLng = new google.maps.LatLng locatable.latitude, locatable.longitude - google.maps.geometry.spherical.computeDistanceBetween latLng, results[0].geometry.location + google.maps.geometry.spherical.computeDistanceBetween latLng, location diff --git a/spec/javascripts/unit/darkswarm/services/enterprise_spec.js.coffee b/spec/javascripts/unit/darkswarm/services/enterprise_spec.js.coffee index 3a7368f107..b424511e09 100644 --- a/spec/javascripts/unit/darkswarm/services/enterprise_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/services/enterprise_spec.js.coffee @@ -93,6 +93,11 @@ describe "Enterprises service", -> Enterprises.updateDistance "asdf" expect(Enterprises.calculateDistance).toHaveBeenCalledWith("asdf") + it "resets the distance when query is null", -> + spyOn(Enterprises, "resetDistance") + Enterprises.updateDistance null + expect(Enterprises.resetDistance).toHaveBeenCalled() + it "resets the distance when query is blank", -> spyOn(Enterprises, "resetDistance") Enterprises.updateDistance ""