diff --git a/ctms/acoustic_service.py b/ctms/acoustic_service.py index 5e3c3664..78943dfa 100644 --- a/ctms/acoustic_service.py +++ b/ctms/acoustic_service.py @@ -253,6 +253,13 @@ def _main_table_converter(self, contact, main_fields): self.context["trace"] = inner_value if acoustic_field_name in main_fields: + # TODO: The create_timestamp is currently a Date field in Acoustic. + # Sending time information will prevent Acoustic to set the value properly. + # We should configure Acoustic to use a Timestamp for this data. + # This is being tracked in https://github.com/mozilla-it/ctms-api/issues/563 + if acoustic_field_name == "create_timestamp": + inner_value = inner_value.date() + if acoustic_field_name == "fxa_created_date": inner_value = self.fxa_created_date_string_to_datetime( inner_value diff --git a/tests/unit/test_acoustic_service.py b/tests/unit/test_acoustic_service.py index 308087fc..b06d9388 100644 --- a/tests/unit/test_acoustic_service.py +++ b/tests/unit/test_acoustic_service.py @@ -291,6 +291,9 @@ def test_ctms_to_acoustic_minimal_fields( waitlist_acoustic_fields, acoustic_newsletters_mapping, ) + assert main[ + "create_timestamp" + ] == minimal_contact.email.create_timestamp.date().strftime("%m/%d/%Y") assert main["email"] == minimal_contact.email.primary_email assert main["basket_token"] == str(minimal_contact.email.basket_token) assert main["mailing_country"] == minimal_contact.email.mailing_country