Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions parsons/action_network/action_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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"
Expand Down
12 changes: 8 additions & 4 deletions test/test_action_network/test_action_network.py
Original file line number Diff line number Diff line change
@@ -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()
Expand Down Expand Up @@ -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,
)
Expand Down