diff --git a/tests/test_fields.py b/tests/test_fields.py index f8ec744b7..ec4470e38 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -1,6 +1,7 @@ import json import os import re +import time import pytest import responses @@ -770,6 +771,27 @@ def test_date(): assert fields.DateField().convert_value_from_str('not a date') is None +def test_date_anonymise(pub): + formdef = FormDef() + formdef.name = 'title' + formdef.fields = [fields.DateField(id='0', label='date', type='date')] + formdef.store() + + formdata = formdef.data_class()() + formdata.just_created() + formdata.data = {'0': time.strptime('2023-03-28', '%Y-%m-%d')} + formdata.anonymise() + assert not formdata.data.get('0') + + formdef.fields[0].anonymise = False + formdef.store() + formdata = formdef.data_class()() + formdata.just_created() + formdata.data = {'0': time.strptime('2023-03-28', '%Y-%m-%d')} + formdata.anonymise() + assert formdata.data.get('0') == time.strptime('2023-03-28', '%Y-%m-%d') + + def test_file_convert_from_anything(): assert fields.FileField().convert_value_from_anything(None) is None diff --git a/wcs/fields.py b/wcs/fields.py index 903041e4a..408167854 100644 --- a/wcs/fields.py +++ b/wcs/fields.py @@ -1912,6 +1912,7 @@ class DateField(WidgetField): 'maximum_date', 'date_in_the_past', 'date_can_be_today', + 'anonymise', ] @classmethod