Please complete the following test scenarios to ensure your deployment is functioning properly.
Prerequisites
Application is deployed on a System (Laptop or Virtual Machine on any Cloud Provider) with 16GB memory
Networking related configuration on VM is already completed (e.g., Opening of Ports, assigning of Public Static IP Address to VM)
Metamask extension is installed on Browser (e.g., Chrome, Firefox, Brave etc.)
Web3Auth configuration is complete (For Custodial wallets)
Alchemy Key is defined in .env file (For deployment of contracts)
Application with all services are running
Test Scenarios
Login
Visit the application Home Page:
Navigate to http://<Server_IP_Address>:<Port>
You should see the Home Page displayed with Connect Button in the top right corner.
Login with Metamask wallet:
Click on Connect Button
You will see a pop-up with an option to select a login method.
Click on Web3
This will invoke Metamask to send a signature request.
Sign the signature request
Successful signature will connect the user with the system. You should see the authenticated user's Public Address as well as the Balance for the selected Blockchain
Login with Web3Auth
Click on Social Logins Button
Pop Up displayed with Option to connect using Google, Facebook, Instagram etc.
Click on "Continue with Google"
Select this option if user wants to connect using Google.After verification of gmail credentials, a web3 wallet will be created and a Public address will be assigned.
Admin User Tests
Configure environment variables for providing Admin access
Navigate to Deployment Home Directory and edit .env file
Provide valid values for environment variables and save file
admin_nft_chain
admin_contract
Restart application
Buy NFT
Buy NFT from configured admin contract
NFT minted successfully and can be verified on etherscan
Verify connected user has Admin Privileges
Login with Metamask wallet
Verify that admin icon is displayed
Update MongoDB for providing SuperAdmin access
Update ServerSettings collection
Update superAdmins field of the collection by adding your Public Address. Changes will take effect on next login from Wallet.
Now, SuperAdmin user can add more SuperAdmins from UI.
Login with Metamask wallet
Verify that SuperAdmin icon is displayed
Providing SuperAdmin privileges from UI
Login with Metamask wallet with user having SuperAdmin rights
Verify that SuperAdmin icon is displayed
Navigate to Admin Page
Click on SuperAdmin icon.This will display a drop down with icons.Click on the Admin icon.
Admin page is displayed
Provide SuperAdmin privileges to a Admin user
Scroll down page and under Super admins section, click on Add Button and enter public address in the text box followed by clicking on Set Super Admins Button
Verify by login with Metamask with the new SuperAdmin user and check if the color of Admin icon is Golden
Factory Deployment Tests
Contract Deployment
Login with Metamask wallet with user having Admin or SuperAdmin rights
Verify that Admin / SuperAdmin icon is displayed
Select Factory from Profile Dropdown
Verify Contract Deployment page is displayed
Deploy Contract on Sepolia Blockchain
Note: For contract deployment, enure that Alchemy API Key, RPC URL is defined in .env. Also, user should have at least 15 RAIR tokens on the chain on which contract deployment is to be done
On Contract Deployment page, select Ethereum Sepolia from "Deploy On" Dropdown and enter text for Contract name text Box followed by click on "Deploy a diamond contract" Button
Verify that Step -1 to transfer 15 RAIR tokens request is shown
On approving transfer then Step-2 to deploy Contract is shown
Product/Collection creation
Select Contract from Deployed Contracts List
Select Deployed Contracts Tab and also filter based on Blockchain
Verify that list of Contracts are displayed and select a contract from list
Create Collection/Product
Enter Name of collection and specify Length (Number of NFTs in collection) and click on Create Collection Button. Verify Metamask transaction
Verify Collection created message is displayed
Existing Collections list
Select Existing Collections Tab
Verify that collection created in last step is shown in the list
Creating Ranges
Select Collection from List
Select Collection from Existing collection list
Verify Ranges creation Page is displayed
Create Range
Click on "Add new" Button
Verify that Form for Range creation is displayed. Enter details:
Range name : range-1
Starting token : 0 (token number is starting from 0 )
Ending token : 49 (If 50 tokens are required in the Range)
Range Price : 1000000000000000 (in WEI)
Click on Create Ranges Button and Confirm transaction on Metamask
Verify that Offer/Range is created
Approving Marketplace and Putting Ranges up for sale
Verify Range
Click Continue Button on Range Page
Verify Offers page is displayed
Approve Marketplace as Minter
Click on "Approve the marketplace as Minter" Button and Confirm Metamask transaction
Verify Success Message
Put Selected Range up for sale
Click on "Put selected Ranges up for sale" Button and Confirm Metamask transaction
Verify that Success message is displayed
After this step, Collection will show up on Marketplace and User can Mint tokens (tokens has no metadata at this point)
Metadata Update Tests
Download Metadata csv Template file
Login with Metamask wallet with user having Admin or SuperAdmin rights
Prepare metadata csv file with format as downloaded sample template
Sample csv file with metadata is attached (this is sample file, user can define own metadata as required)
Upload Metadata csv file
Drag and Drop csv file on the area marked as 2 and click on Send Button
Verify Success message is displayed with count equal to the number of metadata entries (no. of rows with each row contains metadata for a NFT)
UI Customization Tests
Switch Theme
Click on Switch Theme toggle icon
Default UI theme is Dark mode.Click on Switch Theme toggle icon to change theme
Verify Dark mode changes to Light mode. Note: This change in theme is applicable to current Browser session only.
Setting Custom Dark Mode Colors - Primary Color
Login with Metamask wallet with user having SuperAdmin rights
Verify that SuperAdmin icon is displayed
Select Primary Color
Under Custom Dark Mode Colors Section, click on Box next to Primary Color and select color.Click on "Set colors" Button
Verify Web Page color change as per selected Primary color
Setting Custom Dark Mode Colors - Secondary Color
Select Secondary Color
Under Custom Dark Mode Colors Section, click on Box next to Secondary Color and select color.Click on "Set colors" Button
Verify Web Page color change as per selected Secondary color
Setting Custom Dark Mode Colors - Text Color
Select Text Color
Under Custom Dark Mode Colors Section, click on Box next to Text Color and select color.Click on "Set colors" Button
Verify Text color on Web Page change as per selected Text color
Setting Custom Dark Mode Colors - Primary Button Color
Select Primary Button Color
Under Custom Dark Mode Colors Section, click on Box next to Primary Button Color and select color.Click on "Set colors" Button
Verify Button color on Web Page color change as per selected Primary Button color
Setting Custom Dark Mode Colors - Secondary Button Color
Select Secondary Button Color
Under Custom Dark Mode Colors Section, click on Box next to Secondary Button Color and select color.Click on "Set colors" Button
Verify Button color on Web Page color change as per selected Secondary Button color
Setting Custom Dark Mode Colors - Fade Button Color
Select Fade Button Color
Under Custom Dark Mode Colors Section, click on Box next to Fade Button Color and select color.Click on "Set colors" Button
Verify Button color on Web Page color change as per selected Fade Button color
Contract Hiding Tests
Hiding Smart Contracts
Login with Metamask wallet with user having SuperAdmin rights
Verify that SuperAdmin icon is displayed
Navigate to Admin Page
Click on SuperAdmin icon.This will display a drop down with icons.Click on the Admin icon.
Admin page is displayed
Hide Contract
Under "Select contract that needs to be hidden" Section, click on on the drop-down and select the contact that needs to be hidden and click on Hide Button
Verify contract moves to the List of Hidden contracts on Left side. Also, Collections for these hidden contracts will not be shown on Home Page
Un-Hide Smart Contracts
Show Contract
Click on the Show Button on the Left side List for contract which needs to be removed from Hidden list
Verify contract moves to the List of Visible contracts on Right side