@@ -16,11 +16,13 @@ contract EventContractTest is Test {
1616 address user = address (0x4 );
1717
1818 function setUp () public {
19+ // Initialize mock USDC token and master owner modifier
1920 usdcToken = new MockERC20 ("Mock USDC " , "USDC " , 6 );
2021 masterOwnerModifier = new MasterOwnerModifier ();
2122 masterOwnerModifier.addMasterOwner (masterOwner);
2223
23- EventContract.Ticket[] memory tickets = new EventContract.Ticket [](1 );
24+ // Initialize tickets
25+ EventContract.Ticket[] memory tickets = new EventContract.Ticket [](2 );
2426 tickets[0 ] = EventContract.Ticket ({
2527 ticketType: "VIP " ,
2628 price: 100 * 10 ** 6 , // 100 USDC
@@ -35,6 +37,7 @@ contract EventContractTest is Test {
3537 minted: 0
3638 });
3739
40+ // Deploy EventContract
3841 eventContract = new EventContract (
3942 vendor,
4043 masterOwner,
@@ -50,10 +53,12 @@ contract EventContractTest is Test {
5053 tickets
5154 );
5255
53- usdcToken.mint (user, 1000 * 10 ** 6 ); // Mint 1000 USDC to user
56+ // Mint 1000 USDC to user
57+ usdcToken.mint (user, 1000 * 10 ** 6 );
5458 }
5559
5660 function testMintTicketHappyFlow () public {
61+ // User approves and mints a VIP ticket
5762 vm.startPrank (user);
5863 usdcToken.approve (address (eventContract), 100 * 10 ** 6 );
5964 eventContract.mintTicket ("VIP " );
@@ -62,12 +67,15 @@ contract EventContractTest is Test {
6267 }
6368
6469 function testWithdrawFundsHappyFlow () public {
70+ // User mints a VIP ticket
6571 vm.startPrank (user);
6672 usdcToken.approve (address (eventContract), 100 * 10 ** 6 );
6773 eventContract.mintTicket ("VIP " );
6874 vm.stopPrank ();
6975
70- vm.warp (block .timestamp + 2 days); // Move time forward to after event end
76+ // Move time forward to after event end
77+ vm.warp (block .timestamp + 2 days);
78+ // Vendor withdraws funds
7179 vm.startPrank (vendor);
7280 eventContract.withdrawFunds ();
7381 assertEq (usdcToken.balanceOf (vendor), 99 * 10 ** 6 ); // 99 USDC to vendor
@@ -76,6 +84,7 @@ contract EventContractTest is Test {
7684 }
7785
7886 function testMintTicketUnhappyFlow () public {
87+ // User tries to mint a VIP ticket after ticket sale end
7988 vm.startPrank (user);
8089 usdcToken.approve (address (eventContract), 100 * 10 ** 6 );
8190 vm.warp (block .timestamp + 2 days); // Move time forward to after ticket sale end
@@ -85,52 +94,61 @@ contract EventContractTest is Test {
8594 }
8695
8796 function testWithdrawFundsUnhappyFlow () public {
97+ // User mints a VIP ticket
8898 vm.startPrank (user);
8999 usdcToken.approve (address (eventContract), 100 * 10 ** 6 );
90100 eventContract.mintTicket ("VIP " );
91101 vm.stopPrank ();
92102
103+ // Vendor tries to withdraw funds before event end
93104 vm.startPrank (vendor);
94105 vm.expectRevert (EventContract.EventNotOver.selector );
95106 eventContract.withdrawFunds ();
96107 vm.stopPrank ();
97108 }
98109
99110 function testCancelEvent () public {
111+ // User mints a VIP ticket
100112 vm.startPrank (user);
101113 usdcToken.approve (address (eventContract), 100 * 10 ** 6 );
102114 eventContract.mintTicket ("VIP " );
103115 vm.stopPrank ();
104116
117+ // Vendor cancels the event
105118 vm.startPrank (vendor);
106119 eventContract.cancelEvent ("Event cancelled " );
107120 assertTrue (eventContract.isCancelled ());
108121 vm.stopPrank ();
109122 }
110123
111124 function testClaimRefund () public {
125+ // User mints a VIP ticket
112126 vm.startPrank (user);
113127 usdcToken.approve (address (eventContract), 100 * 10 ** 6 );
114128 eventContract.mintTicket ("VIP " );
115129 vm.stopPrank ();
116130
131+ // Vendor cancels the event
117132 vm.startPrank (vendor);
118133 eventContract.cancelEvent ("Event cancelled " );
119134 vm.stopPrank ();
120135
136+ // User claims refund
121137 vm.startPrank (user);
122138 eventContract.claimRefund (1 );
123139 assertEq (usdcToken.balanceOf (user), 1000 * 10 ** 6 ); // User gets refund
124140 vm.stopPrank ();
125141 }
126142
127143 function testGetUserTickets () public {
144+ // User mints two VIP tickets
128145 vm.startPrank (user);
129146 usdcToken.approve (address (eventContract), 200 * 10 ** 6 );
130147 eventContract.mintTicket ("VIP " );
131148 eventContract.mintTicket ("VIP " );
132149 vm.stopPrank ();
133150
151+ // Get user tickets
134152 (uint256 [] memory ticketIds , string [] memory ticketTypes ) = eventContract.getUserTickets (user);
135153 assertEq (ticketIds.length , 2 );
136154 assertEq (ticketTypes.length , 2 );
@@ -139,6 +157,7 @@ contract EventContractTest is Test {
139157 }
140158
141159 function testUseTicket () public {
160+ // User mints and uses a VIP ticket
142161 vm.startPrank (user);
143162 usdcToken.approve (address (eventContract), 100 * 10 ** 6 );
144163 eventContract.mintTicket ("VIP " );
@@ -148,6 +167,7 @@ contract EventContractTest is Test {
148167 }
149168
150169 function testTransferTicket () public {
170+ // User mints and transfers a VIP ticket
151171 vm.startPrank (user);
152172 usdcToken.approve (address (eventContract), 100 * 10 ** 6 );
153173 eventContract.mintTicket ("VIP " );
@@ -157,6 +177,7 @@ contract EventContractTest is Test {
157177 }
158178
159179 function testModifyTicketMaxSupply () public {
180+ // Vendor modifies the max supply of VIP tickets
160181 vm.startPrank (vendor);
161182 eventContract.modifyTicketMaxSupply ("VIP " , 200 );
162183 (,,uint256 maxSupply ,) = eventContract.tickets ("VIP " );
@@ -165,13 +186,15 @@ contract EventContractTest is Test {
165186 }
166187
167188 function testAddEventOwner () public {
189+ // Vendor adds an additional event owner
168190 vm.startPrank (vendor);
169191 eventContract.addEventOwner (address (0x6 ));
170192 assertTrue (eventContract.additionalEventOwners (address (0x6 )));
171193 vm.stopPrank ();
172194 }
173195
174196 function testRemoveEventOwner () public {
197+ // Vendor removes an additional event owner
175198 vm.startPrank (vendor);
176199 eventContract.addEventOwner (address (0x6 ));
177200 eventContract.removeEventOwner (address (0x6 ));
@@ -180,6 +203,7 @@ contract EventContractTest is Test {
180203 }
181204
182205 function testPauseAndUnpause () public {
206+ // Master owner pauses and unpauses the event
183207 vm.startPrank (masterOwner);
184208 eventContract.pause ();
185209 assertTrue (eventContract.paused ());
0 commit comments