Facebook tell us to test our apps by using test users. OK, I do that…. but there are cases where I found problems in using test users. For example:
- if you update the test user’s profile pic, you won’t be able to get this via Graph API
Bugzilla report: http://bugs.developers.facebook.net/show_bug.cgi?id=18909
- permission granted to an app will be revoked automatically
Bugzilla report: http://bugs.developers.facebook.net/show_bug.cgi?id=19036
This morning, I found that Facebook has closed the 2nd bug report by saying
This is by design. Your implementation should handle the case when the user or test_user access token is expired.
Up to now, I have read any documentation about this “design”. OK, there is no need for Facebook to disclose its design to us. However, as this is something that would affect how test user behaves when accessing our application, this is a “feature” that should be documented.
I provided feedback and reopened the bugzilla by asking Facebook team a few questions:
- why the test user name is not changed periodically by the system automatically? An app should also handle the case that the user name is change
- why the test user email is not changed periodically by the system automatically? An app should also handle the case that the user email is changed
- Does the user’s friends connection break randomly? An app should also handle the case that the user’s friend connection is changed?
- will the user profile pic be changed by the system automatically? An app should also handle the case that the user’s profile pic is changed?
- will photo uploaded to user’s photo album be deleted automatically? An app should also handle the case that the user’s photo is deleted is changed?
The main point that I would like to draw is: something that the app should handle does not mean it should be changed automatically by the system. If I want to test this case, I suppose the app own should revoke the granted permission manually.