diff --git a/parsons/action_network/action_network.py b/parsons/action_network/action_network.py index c0763fdf5b..5bbac4d633 100644 --- a/parsons/action_network/action_network.py +++ b/parsons/action_network/action_network.py @@ -95,6 +95,7 @@ def upsert_person( given_name=None, family_name=None, tags=None, + remove_tags=None, languages_spoken=None, postal_addresses=None, mobile_number=None, @@ -128,6 +129,8 @@ def upsert_person( The person's family name tags: Optional field. A list of strings of pre-existing tags to be applied to the person. + remove_tags: + Optional field. A list of strings of pre-existing tags to be removed from the person languages_spoken: Optional field. A list of strings of the languages spoken by the person postal_addresses: @@ -217,6 +220,8 @@ def upsert_person( data["person"]["postal_addresses"] = postal_addresses if tags is not None: data["add_tags"] = tags + if remove_tags is not None: + data["remove_tags"] = remove_tags data["person"]["custom_fields"] = {**kwargs} url = f"{self.api_url}/people" diff --git a/test/test_action_network/test_action_network.py b/test/test_action_network/test_action_network.py index c6984d3861..f1e5054dee 100644 --- a/test/test_action_network/test_action_network.py +++ b/test/test_action_network/test_action_network.py @@ -1,9 +1,10 @@ -import unittest -import requests_mock import json -from parsons import Table, ActionNetwork +import unittest from test.utils import assert_matching_tables +import requests_mock +from parsons import ActionNetwork, Table + class TestActionNetwork(unittest.TestCase): @requests_mock.Mocker() @@ -435,7 +436,10 @@ def test_update_person(self, m): ) self.assertEqual( self.an.update_person( - self.fake_person_id_1, given_name="Flake", family_name="McFlakerson" + self.fake_person_id_1, + given_name="Flake", + family_name="McFlakerson", + remove_tags=["Fake Tag"], ), self.updated_fake_person, )