RAIRprotocol
  • 💎Welcome to RAIR
  • 💴Whitepaper (draft)
    • Start
      • History
      • Licensing
      • Codebase
      • Onboarding
      • Mechanics
        • Burn Model
        • Earn Model
      • Governance (DAORM)
  • ↔️Integrations
    • Core Technologies
      • Guides
        • Alchemy
        • GCP Cloud Storage
        • Web3Auth
    • Blockchains
  • 👩‍💻CODEBASE
    • RAIRsolidity
      • Soneium (Minato)
      • Core DAO
      • All Contract Addresses
      • Transfer functions
    • RAIRdapp
      • RAIRfrontend
        • Proxy Settings for Default Frontend
        • Frontend Variables Library
      • RAIRnode
        • Permissions and Access Controls
        • Backend Variables Library
      • RAIRsync
        • Integrating New EVMs
      • RAIRstream
      • RAIRinfra
    • RAIR API
      • Endpoints
        • Auth
          • Get challenge
          • Login
          • Logout
          • Me
          • Unlock
          • Stream
            • Out
        • Analytics
          • Csv
        • Contracts
          • FactoryList
          • Full
          • Import
          • My
          • Network
            • Products
              • Offers
        • Credits
          • Withdraw
        • Favorites
        • Files
          • ById
          • ByCategory
          • Categories
          • ForToken
          • Unlocks
          • List
          • Remove
          • Update
        • Nft
          • Network
            • Attributes
            • Files
            • Locks
            • Offers
            • Token
              • Pinning
          • PinningMultiple
          • Csv
            • Sample
        • Offers
          • /
        • Products
          • /
          • User
        • Resales
          • Create
          • Delete
          • Open
          • Purchase
          • Update
        • Search
          • All
        • Settings
          • Featured
          • Theme
          • AppLogo
        • Tokens
          • /
          • TokenNumbers
        • Transaction
        • Upload
          • File
          • Validate
        • Users
          • /
          • Export
          • List
          • Yoti verify
      • Specification
    • A Note on Documentation
  • ⚙️Installation and Testing
    • Getting Started
      • Welcome to New Web3 Devs!
      • RAIRlite (Single VM)
        • Windows WSL Installation
        • MVP Test Plan
        • https configuration
      • RAIRcloud (Cloud Enabled)
        • Cloud Test Plan
  • 🛟End User Guides
    • User Functionality
      • How to login
      • Buy your first NFT
      • Put items up for sale
      • Watch Content
    • Admin Functionality
      • Deploying NFT contracts
      • Managing Metadata
      • Managing Media
      • Managing Marketplace
      • Managing Users
      • Importing External Contracts
Powered by GitBook
On this page
  • Prerequisites
  • Test Scenarios
  • Login
  • Admin User Tests
  • Factory Deployment Tests
  • Metadata Update Tests
  • UI Customization Tests
  • Contract Hiding Tests

Was this helpful?

  1. Installation and Testing
  2. Getting Started
  3. RAIRlite (Single VM)

MVP Test Plan

Test RAIRlite

PreviousWindows WSL InstallationNexthttps configuration

Last updated 1 year ago

Was this helpful?

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

Verify that Admin / SuperAdmin icon is displayed

Select Factory from Profile Dropdown

Verify Contract Deployment page is displayed

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

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

⚙️
Select Contract from Deployed Contracts List
11KB
Mahabalipuram50.csv
Sample Metadata csv file