def test_contact_is_moved_to_Ungrouped_contacts_when_the_contact_group_is_deleted(
):

    organization = add_organization("Ungrouped Gruppi")
    organization_id = organization.json['data']['id']

    contact_group = add_contact_group(group_name="Ungrouped Grupi Test_group",
                                      group_type="organization",
                                      description="Test group description")
    contact_group_id = contact_group.json['data']['id']

    endpoint = 'contactGroups/' + str(contact_group_id) + '/organizations'
    payload = {"item_ids": [organization_id]}
    r = do_request(method='POST', endpoint=endpoint, data=payload)

    # Assert response code
    assert r.status_code == 200
    # Assert that in API response success==true
    assert r.json['success']

    endpoint = 'contactGroups/' + str(contact_group_id) + '/organizations'
    payload = {"item_ids": [organization_id]}

    r = remove_contact_group("Ungrouped Grupi Test_group")

    # Assert response code
    assert r.status_code == 200
    assert r.status_code == 200
    # Assert that in API response success==true
    assert r.json['success']
    # Assert that group list contains the group that was added by the test
    assert count_contact_groups_by_name(organization) == 0
    # Assert that group list contains the group that was added by the test
    assert count_contact_groups_by_name("Ungrouped") == 1
def test_add_contact_group_with_invalid_values():
    set_group_name = ""
    r = add_contact_group(group_name=set_group_name,
                          group_type="person",
                          description="Test group description")

    #Assert response code
    assert r.status_code == 400
    # Assert that group list contains the group that was added by the test
    assert count_contact_groups_by_name(set_group_name) == 0
def test_add_contact_group_with_only_name():
    my_group_name = "group" + get_time_in_milliseconds()
    r = add_contact_group(group_name=my_group_name,
                          group_type="person",
                          description="Test group description")

    # Assert response code
    assert r.status_code == 201
    # Assert that in API response success==true
    assert r.json['success']
    # Assert that group list contains the group that was added by the test
    assert count_contact_groups_by_name(my_group_name) == 1
def test_rename_contact_group():
    my_group_name = "group" + get_time_in_milliseconds()
    group = add_contact_group(group_name=my_group_name,
                              group_type="person",
                              description="Test group description")
    group_id = group.json["data"]["id"]

    assert group.status_code == 201
    assert group.json['success']
    assert count_contact_groups_by_name(my_group_name) == 1

    #Renaming the group
    payload = {"name": "group_renamed" + str(get_time_in_milliseconds())}
    endpoint = 'contactGroups/' + str(group_id)
    req = do_request(method='PUT', endpoint=endpoint, data=payload)
    assert req.status_code == 200
    assert req.json["success"]
def test_remove_organization_from_contact_group():
    organization = add_organization("Test222")
    organization_id = organization.json['data']['id']

    contact_group = add_contact_group(group_name="Test222_group",
                                      group_type="organization",
                                      description="Test group description")
    contact_group_id = contact_group.json['data']['id']

    endpoint = 'contactGroups/' + str(contact_group_id) + '/organizations'
    payload = {"item_ids": [organization_id]}
    r = do_request(method='DELETE', endpoint=endpoint, data=payload)

    # Assert response code
    assert r.status_code == 200
    # Assert that in API response success==true
    assert r.json['success']
    # Assert that group list contains the group that was added by the test
    assert count_contact_groups_by_name(organization) == 0