diff --git a/tests/user/test_users_present.yml b/tests/user/test_users_present.yml
deleted file mode 100644
index c42d152c54714b4e2675bebdb33093fe4cc5a3ef..0000000000000000000000000000000000000000
--- a/tests/user/test_users_present.yml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-- name: Include create_users_json.yml
-  ansible.builtin.import_playbook: create_users_json.yml
-
-- name: Test users present
-  hosts: ipaserver
-  become: true
-  gather_facts: false
-
-  tasks:
-  - name: Include users.json
-    ansible.builtin.include_vars:
-      file: users.json  # noqa missing-import
-
-  - name: Users present len:{{ users | length }}
-    ipauser:
-      ipaadmin_password: SomeADMINpassword
-      users: "{{ users }}"
diff --git a/tests/user/test_users_absent.yml b/tests/user/test_users_present_absent.yml
similarity index 55%
rename from tests/user/test_users_absent.yml
rename to tests/user/test_users_present_absent.yml
index d59b7d338e92ff368f429e1f318f43bc96f627a5..38752ce8e91f3e1b2351c4ed2f81c78afe189b0a 100644
--- a/tests/user/test_users_absent.yml
+++ b/tests/user/test_users_present_absent.yml
@@ -2,7 +2,7 @@
 - name: Include create_users_json.yml
   ansible.builtin.import_playbook: create_users_json.yml
 
-- name: Test users absent
+- name: Test users present and absent
   hosts: ipaserver
   become: true
   gather_facts: false
@@ -17,8 +17,23 @@
       user_names: "{{ user_names | default([]) + [{'name': item.name}] }}"
     loop: "{{ users }}"
 
+  - name: Cleanup test users len:{{ users | length }}
+    ipauser:
+      ipaadmin_password: SomeADMINpassword
+      users: "{{ user_names }}"
+      state: absent
+
+  - name: Users present len:{{ users | length }}
+    ipauser:
+      ipaadmin_password: SomeADMINpassword
+      users: "{{ users }}"
+    register: result
+    failed_when: not result.changed or result.failed
+
   - name: Users absent len:{{ users | length }}
     ipauser:
       ipaadmin_password: SomeADMINpassword
       users: "{{ user_names }}"
       state: absent
+    register: result
+    failed_when: not result.changed or result.failed
diff --git a/tests/user/test_users_present_absent_slice.yml b/tests/user/test_users_present_absent_slice.yml
new file mode 100644
index 0000000000000000000000000000000000000000..885d910c85e9dd122110a9c2c406229bdede83d4
--- /dev/null
+++ b/tests/user/test_users_present_absent_slice.yml
@@ -0,0 +1,48 @@
+---
+- name: Include create_users_json.yml
+  ansible.builtin.import_playbook: create_users_json.yml
+
+- name: Test users present and absent with slice
+  hosts: ipaserver
+  become: true
+  gather_facts: false
+
+  vars:
+    slice_size: 100
+  tasks:
+  - name: Include users.json
+    ansible.builtin.include_vars:
+      file: users.json  # noqa missing-import
+
+  - name: Create dict with user names
+    ansible.builtin.set_fact:
+      user_names: "{{ user_names | default([]) + [{'name': item.name}] }}"
+    loop: "{{ users }}"
+
+  - name: Size of users slice.
+    ansible.builtin.debug:
+      msg: "{{ users | length }}"
+
+  - name: Cleanup test users
+    ipauser:
+      ipaadmin_password: SomeADMINpassword
+      users: "{{ user_names[item : item + slice_size] }}"
+      state: absent
+    loop: "{{ range(0, user_names | length, slice_size) | list }}"
+
+  - name: Users present
+    ipauser:
+      ipaadmin_password: SomeADMINpassword
+      users: "{{ users[item : item + slice_size] }}"
+    loop: "{{ range(0, users | length, slice_size) | list }}"
+    register: result
+    failed_when: not result.changed or result.failed
+
+  - name: Users absent
+    ipauser:
+      ipaadmin_password: SomeADMINpassword
+      users: "{{ user_names[item : item + slice_size] }}"
+      state: absent
+    loop: "{{ range(0, user_names | length, slice_size) | list }}"
+    register: result
+    failed_when: not result.changed or result.failed
diff --git a/tests/user/test_users_present_slice.yml b/tests/user/test_users_present_slice.yml
deleted file mode 100644
index 98bad4bd09dcb0ac3312874c18362e33caa58a91..0000000000000000000000000000000000000000
--- a/tests/user/test_users_present_slice.yml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-- name: Include create_users_json.yml
-  ansible.builtin.import_playbook: create_users_json.yml
-
-- name: Test users present slice
-  hosts: ipaserver
-  become: true
-  gather_facts: false
-
-  vars:
-    slice_size: 500
-  tasks:
-  - name: Include users.json
-    ansible.builtin.include_vars:
-      file: users.json  # noqa missing-import
-  - name: Size of users slice.
-    ansible.builtin.debug:
-      msg: "{{ users | length }}"
-  - name: Users present
-    ipauser:
-      ipaadmin_password: SomeADMINpassword
-      users: "{{ users[item : item + slice_size] }}"
-    loop: "{{ range(0, users | length, slice_size) | list }}"