Purpose:
The purpose of this document is to capture testing requirements for FIP-40.
Scenarios are identified here and will be implemented in javascript tests within fio.test.
QA Test implementation
links
https://github.com/fioprotocol/fio.test/pull/344
Tests identified.
For each new contract action, and each getter using the identified argument
...
illegal name (anything other than register_address_on_domain) (EB: case sensitive?)
mixed case for permitted name.
permission_info:
non empty (this field provides future extensibility of permissions and is not used for
...
string is not domain only (me@domainname)
non existent domain
mixed case domain, same domain is used.
domain owner is not actor EB:
...
confirm different cases for domain name are treated as same domain (e.g. “Alice” and “alice”)
...
domain max length exceeded.
domain max length success
max_fee:
empty
illegal format
less than on chain fee
tpid: (errors ignored, no error reported)
non existing address
domain only
...
verify address is created.
EB: verify that other (non-grantee) accounts still can not register on the private domain with the permission
new test add address for account granted permission on a public domain.
...
verify address is created.
EB: verify that other (non-grantee) accounts can still register on the public domain with the permission
new test add address for account granted permission on a public domain transitioning to private.
...
ASSUMPTION -- existing regressions test public and private domain functionality (this will be verified)
EB: new test - grant and remove grant permissions to multiple grantees on private domain (various scenarios)
create account grantor1, etc.
create account grantee1
create account grantee2
grant permission to grantee1
grantee1 registers address
grant permission to grantee2
grantee2 registers address
Other regression tests
Add grantee1, remove grantee1, re-add same grantee1 and make sure things still work
Add the same grantee to several different domains and confirm they can register on all granted domains
Other core tests:
Add test to
ram.js
to confirm RAM bump.