From 6522e38f18c9a85872990dd26c375f65abd0d06d Mon Sep 17 00:00:00 2001 From: seroy Date: Tue, 18 Jul 2017 01:03:50 +0300 Subject: [PATCH] Added tests for LocalizedFieldWidget.get_context method --- tests/test_file_widget.py | 24 ++++++++++++++++++++++++ tests/test_widget.py | 13 +++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 tests/test_file_widget.py diff --git a/tests/test_file_widget.py b/tests/test_file_widget.py new file mode 100644 index 0000000..87404ea --- /dev/null +++ b/tests/test_file_widget.py @@ -0,0 +1,24 @@ +from django.test import TestCase + +from localized_fields.value import LocalizedFileValue +from localized_fields.widgets import LocalizedFileWidget + + +class LocalizedFileWidgetTestCase(TestCase): + """Tests the workings of the :see:LocalizedFiledWidget class.""" + + @staticmethod + def test_get_context(): + """Tests whether the :see:get_context correctly + handles 'required' attribute, separately for each subwidget.""" + + widget = LocalizedFileWidget() + widget.widgets[0].is_required = True + widget.widgets[1].is_required = True + widget.widgets[2].is_required = False + context = widget.get_context(name='test', + value=LocalizedFileValue(dict(en='test')), + attrs=dict(required=True)) + assert 'required' not in context['widget']['subwidgets'][0]['attrs'] + assert context['widget']['subwidgets'][1]['attrs']['required'] + assert 'required' not in context['widget']['subwidgets'][2]['attrs'] diff --git a/tests/test_widget.py b/tests/test_widget.py index a1ed753..c0f07de 100644 --- a/tests/test_widget.py +++ b/tests/test_widget.py @@ -42,3 +42,16 @@ class LocalizedFieldWidgetTestCase(TestCase): for _, value in zip(settings.LANGUAGES, decompressed_values): assert not value + + @staticmethod + def test_get_context(): + """Tests whether the :see:get_context correctly + handles 'required' attribute, separately for each subwidget.""" + + widget = LocalizedFieldWidget() + widget.widgets[0].is_required = True + widget.widgets[1].is_required = False + context = widget.get_context(name='test', value=LocalizedValue(), + attrs=dict(required=True)) + assert context['widget']['subwidgets'][0]['attrs']['required'] + assert 'required' not in context['widget']['subwidgets'][1]['attrs']