We are developing a social networking app. There are open and private groups in it. You can join and leave an open group whenever you want. If you want to join a private group, you have to request membership. The join button is disabled until you are accepted or denied.
The question is, should you allow the users to leave the group before they are accepted or not? Some argue this would confuse the admin, because when they accept the user, they will disappear. On the other hand if the user changes their mind, they cannot find the option to leave. It's also harder to test, because the tester needs admin access to test the membership request several times.
Allow users to leave the group before they are accepted by providing an option to Cancel Request.
Once the user cancels request the task to approve request disappears from Admin's tasks list (this is something the program needs to take care of). I think this will resolve the confusion.