def add_tag(customer_id, tag): customer = Customer.objects.select_related('user').get(id=customer_id) user = IntercomUser.find(email=customer.user.email) try: IntercomTag.tag_users(tag, [user.id]) except ResourceNotFound as e: IntercomTag.create(name=tag) IntercomTag.tag_users(tag, [user.id]) logger.error('add_tag [ResourceNotFound]: %s' % e)
def sync_tags(): customers = Customer.objects.select_related('user').all() for customer in customers: tags = customer.get_tags() if tags: user = IntercomUser.find(email=customer.user.email) for tag in tags: try: IntercomTag.tag_users(tag, [user.id]) except ResourceNotFound as e: IntercomTag.create(tag) IntercomTag.tag_users(tag, [user.id]) logger.error('sync_tags [ResourceNotFound]: %s' % e)
def it_creates_a_tag(self): with patch.object( Intercom, 'post', return_value=test_tag) as mock_method: # noqa tag = Tag.create(name="Test Tag") eq_(tag.name, "Test Tag") mock_method.assert_called_once_with('/tags/', name="Test Tag")
def it_tags_users(self): params = { 'name': 'Test Tag', 'user_ids': ['abc123', 'def456'], 'tag_or_untag': 'tag' } with patch.object(Intercom, 'post', return_value=test_tag) as mock_method: # noqa tag = Tag.create(**params) eq_(tag.name, "Test Tag") eq_(tag.tagged_user_count, 2) mock_method.assert_called_once_with('/tags/', **params)
def it_creates_a_tag(self): with patch.object(Intercom, 'post', return_value=test_tag) as mock_method: # noqa tag = Tag.create(name="Test Tag") eq_(tag.name, "Test Tag") mock_method.assert_called_once_with('/tags/', name="Test Tag")