from __future__ import absolute_import
from django.test import SimpleTestCase
from corehq.apps.hqwebapp.templatetags.proptable_tags import get_display_data


class CaseDisplayDataTest(SimpleTestCase):

    def test_get_display_data_name(self):
        column = {
            'name': 'favorite color',
            'expr': 'color'
        }
        data = {
            'color': 'red'
        }
        self.assertEqual(get_display_data(data, column),
                         {'expr': 'color', 'name': 'favorite color', 'value': 'red'})

    def test_get_display_data_no_name(self):
        column = {
            'expr': 'color'
        }
        data = {
            'color': 'red'
        }
        self.assertEqual(get_display_data(data, column), {'expr': 'color', 'name': 'color', 'value': 'red'})

    def test_get_display_data_function(self):
        get_color = lambda x: x['color']
        column = {
            'name': 'favorite color',
            'expr': get_color,
        }
        data = {
            'color': 'red'
        }
        self.assertEqual(get_display_data(data, column),
                         {'expr': 'favorite color', 'name': 'favorite color', 'value': 'red'})

@@ -518,35 +518,53 @@
 , 'value': 'red'
+, 'info_url': None
 %7D)%0A
-
 %0A    def test_ge
@@ -760,16 +760,41 @@
 column),
+%0A                        
  %7B'expr'
@@ -835,16 +835,34 @@
 ': 'red'
+, 'info_url': None
 %7D)%0A%0A    
@@ -1245,11 +1245,406 @@
 ': 'red'
-%7D
+, 'info_url': None%7D)%0A%0A    def test_get_display_data_info_url(self):%0A        column = %7B'expr': 'colour'%7D%0A        data = %7B'colour': 'red'%7D%0A        info_url = %22/stuff/__placeholder__/other_stuff%22%0A        self.assertEqual(%0A            get_display_data(data, column, info_url=info_url),%0A            %7B'expr': 'colour', 'name': 'colour', 'value': 'red', 'info_url': '/stuff/colour/other_stuff'%7D%0A        
 )%0A

Update proptable tests