MVP Test Plan

Test RAIRlite

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:

  • 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

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

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

Verify that Admin / SuperAdmin icon is displayed

Select Factory from Profile Dropdown

Verify Contract Deployment page is displayed

Select Contract from Deployed Contracts List

Select Collection from List

Click on Step-3 Metadata Button

Verify Batch Metadata Upload Page is displayed

Download csv template

Click on "Download CSV Template"

Verify CSV metadata file is downloaded

  • Uploading Metadata csv file

Prepare Metadata csv file

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

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

Last updated