Simplify the request via Extension::isWritableWithAsset() helper and fixed test cases.

Signed-off-by: crynobone <crynobone@gmail.com>