def test_simplify_test_accounts(self): self.team.test_account_filters = [ {"key": "email", "value": "@posthog.com", "operator": "not_icontains", "type": "person"} ] self.team.save() data = {"properties": [{"key": "attr", "value": "some_val"}]} filter = Filter(data=data, team=self.team) self.assertEqual( filter.properties_to_dict(), { "properties": { "type": "AND", "values": [{"key": "attr", "value": "some_val", "operator": None, "type": "event"},], }, }, ) self.assertTrue(filter.is_simplified) filter = Filter(data={**data, FILTER_TEST_ACCOUNTS: True}, team=self.team) self.assertEqual( filter.properties_to_dict(), { "properties": { "type": "AND", "values": [ { "type": "AND", "values": [ {"key": "email", "value": "@posthog.com", "operator": "not_icontains", "type": "person"} ], }, { "type": "AND", "values": [{"key": "attr", "value": "some_val", "operator": None, "type": "event"}], }, ], } }, ) self.assertTrue(filter.is_simplified) self.assertEqual( filter.simplify(self.team).properties_to_dict(), { "properties": { "type": "AND", "values": [ { "type": "AND", "values": [ {"key": "email", "value": "@posthog.com", "operator": "not_icontains", "type": "person"} ], }, { "type": "AND", "values": [{"key": "attr", "value": "some_val", "operator": None, "type": "event"}], }, ], } }, )