The license.txt file has been replaced with LICENSE for quite a while now. INAL but it didn't seem accurate to say "hey, checkout license.txt although there's no such file". Apart from this, there were inconsistencies in the headers altogether...this change brings consistency.
40 lines
1.7 KiB
Python
40 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Copyright (c) 2020, Frappe Technologies and contributors
|
|
# License: MIT. See LICENSE
|
|
|
|
import unittest
|
|
|
|
import frappe
|
|
from frappe.geo.utils import get_coords
|
|
|
|
|
|
class TestGeoUtils(unittest.TestCase):
|
|
def setUp(self):
|
|
self.todo = frappe.get_doc(
|
|
dict(doctype='ToDo', description='Test description', assigned_by='Administrator')).insert()
|
|
|
|
self.test_location_dict = {'type': 'FeatureCollection', 'features': [
|
|
{'type': 'Feature', 'properties': {}, "geometry": {'type': 'Point', 'coordinates': [49.20433, 55.753395]}}]}
|
|
self.test_location = frappe.get_doc({'name': 'Test Location', 'doctype': 'Location',
|
|
'location': str(self.test_location_dict)})
|
|
|
|
self.test_filter_exists = [['Location', 'name', 'like', '%Test Location%']]
|
|
self.test_filter_not_exists = [['Location', 'name', 'like', '%Test Location Not exists%']]
|
|
self.test_filter_todo = [['ToDo', 'description', 'like', '%Test description%']]
|
|
|
|
def test_get_coords_location_with_filter_exists(self):
|
|
coords = get_coords('Location', self.test_filter_exists, 'location_field')
|
|
self.assertEqual(self.test_location_dict['features'][0]['geometry'], coords['features'][0]['geometry'])
|
|
|
|
def test_get_coords_location_with_filter_not_exists(self):
|
|
coords = get_coords('Location', self.test_filter_not_exists, 'location_field')
|
|
self.assertEqual(coords, {'type': 'FeatureCollection', 'features': []})
|
|
|
|
def test_get_coords_from_not_existable_location(self):
|
|
self.assertRaises(frappe.ValidationError, get_coords, 'ToDo', self.test_filter_todo, 'location_field')
|
|
|
|
def test_get_coords_from_not_existable_coords(self):
|
|
self.assertRaises(frappe.ValidationError, get_coords, 'ToDo', self.test_filter_todo, 'coordinates')
|
|
|
|
def tearDown(self):
|
|
self.todo.delete()
|