@@ -80,13 +80,13 @@ describe('Calculation-2025 Component', () => {
8080 expect ( totalTaxDisplay . text ( ) ) . toContain ( wrapper . vm . totalTax . toString ( ) ) ;
8181 } ) ;
8282
83- test ( 'should use FY 2025-26 tax slabs (6 slabs, no 5% bracket)' , ( ) => {
83+ test ( 'should use FY 2025-26 tax slabs (7 slabs, includes 5% bracket)' , ( ) => {
8484 store . commit ( 'updateTaxpayerProfile' , {
8585 category : 'general' ,
8686 age : 30 ,
8787 location : 'dhaka'
8888 } ) ;
89-
89+
9090 store . commit ( 'changeSubsequentSalaries' , { index : 0 , value : 50000 } ) ; // 600K annually
9191
9292 wrapper = mount ( Calculation2025 , {
@@ -96,16 +96,16 @@ describe('Calculation-2025 Component', () => {
9696 } ) ;
9797
9898 const taxBreakdown = wrapper . vm . taxBreakdown ;
99-
100- expect ( taxBreakdown ) . toHaveLength ( 6 ) ; // 6 slabs for 2025-26
101-
102- // Check that tax rates don't include 5%
99+
100+ expect ( taxBreakdown ) . toHaveLength ( 7 ) ; // 7 slabs for 2025-26
101+
102+ // Check that tax rates include 5%
103103 const rates = taxBreakdown . map ( slab => slab . slabPercentage ) ;
104- expect ( rates ) . not . toContain ( 5 ) ;
105- expect ( rates ) . toEqual ( [ 0 , 10 , 15 , 20 , 25 , 30 ] ) ;
104+ expect ( rates ) . toContain ( 5 ) ;
105+ expect ( rates ) . toEqual ( [ 0 , 5 , 10 , 15 , 20 , 25 ] ) ;
106106 } ) ;
107107
108- test ( 'should show higher tax-free threshold for 2025-26' , ( ) => {
108+ test ( 'should show tax-free threshold for 2025-26' , ( ) => {
109109 store . commit ( 'updateTaxpayerProfile' , {
110110 category : 'general' ,
111111 age : 30 ,
@@ -119,7 +119,7 @@ describe('Calculation-2025 Component', () => {
119119 } ) ;
120120
121121 const threshold = wrapper . vm . taxFreeThreshold ;
122- expect ( threshold ) . toBe ( 375000 ) ; // 25K higher than 2024-25
122+ expect ( threshold ) . toBe ( 350000 ) ; // Same as 2024-25 per NBR official
123123 } ) ;
124124
125125 test ( 'should apply unified minimum tax of 5000' , ( ) => {
@@ -161,7 +161,7 @@ describe('Calculation-2025 Component', () => {
161161 } ) ;
162162
163163 const threshold = wrapper . vm . taxFreeThreshold ;
164- expect ( threshold ) . toBe ( 425000 ) ; // Female threshold for 2025-26
164+ expect ( threshold ) . toBe ( 400000 ) ; // Female threshold for 2025-26
165165 } ) ;
166166
167167 test ( 'should calculate correctly for disabled person' , ( ) => {
@@ -178,7 +178,7 @@ describe('Calculation-2025 Component', () => {
178178 } ) ;
179179
180180 const threshold = wrapper . vm . taxFreeThreshold ;
181- expect ( threshold ) . toBe ( 500000 ) ; // Disabled threshold for 2025-26
181+ expect ( threshold ) . toBe ( 475000 ) ; // Disabled threshold for 2025-26
182182 } ) ;
183183
184184 test ( 'should calculate correctly for freedom fighter' , ( ) => {
@@ -195,7 +195,7 @@ describe('Calculation-2025 Component', () => {
195195 } ) ;
196196
197197 const threshold = wrapper . vm . taxFreeThreshold ;
198- expect ( threshold ) . toBe ( 525000 ) ; // Freedom fighter threshold for 2025-26
198+ expect ( threshold ) . toBe ( 500000 ) ; // Freedom fighter threshold for 2025-26
199199 } ) ;
200200
201201 test ( 'should calculate correctly for third gender' , ( ) => {
@@ -212,7 +212,7 @@ describe('Calculation-2025 Component', () => {
212212 } ) ;
213213
214214 const threshold = wrapper . vm . taxFreeThreshold ;
215- expect ( threshold ) . toBe ( 500000 ) ; // Third gender threshold for 2025-26
215+ expect ( threshold ) . toBe ( 475000 ) ; // Third gender threshold for 2025-26
216216 } ) ;
217217
218218 test ( 'should auto-detect senior citizen' , ( ) => {
@@ -229,7 +229,7 @@ describe('Calculation-2025 Component', () => {
229229 } ) ;
230230
231231 const threshold = wrapper . vm . taxFreeThreshold ;
232- expect ( threshold ) . toBe ( 425000 ) ; // Senior threshold for 2025-26
232+ expect ( threshold ) . toBe ( 400000 ) ; // Senior threshold for 2025-26
233233 } ) ;
234234 } ) ;
235235
@@ -258,13 +258,13 @@ describe('Calculation-2025 Component', () => {
258258 expect ( totalTax ) . toBe ( minimumTax ) ; // Should apply minimum tax
259259 } ) ;
260260
261- test ( 'should calculate correct tax for income in first bracket (10 %)' , ( ) => {
261+ test ( 'should calculate correct tax for income in first bracket (5 %)' , ( ) => {
262262 store . commit ( 'updateTaxpayerProfile' , {
263263 category : 'general' ,
264264 age : 30 ,
265265 location : 'dhaka'
266266 } ) ;
267-
267+
268268 store . commit ( 'changeSubsequentSalaries' , { index : 0 , value : 40000 } ) ; // 480K annually
269269
270270 wrapper = mount ( Calculation2025 , {
@@ -274,10 +274,10 @@ describe('Calculation-2025 Component', () => {
274274 } ) ;
275275
276276 const taxBreakdown = wrapper . vm . taxBreakdown ;
277-
278- expect ( taxBreakdown [ 0 ] . slabCut ) . toBe ( 0 ) ; // No tax on first 375K
279- expect ( taxBreakdown [ 1 ] . slabCut ) . toBeGreaterThan ( 0 ) ; // Tax on excess at 10 %
280- expect ( taxBreakdown [ 1 ] . slabPercentage ) . toBe ( 10 ) ; // First taxable bracket is 10 %
277+
278+ expect ( taxBreakdown [ 0 ] . slabCut ) . toBe ( 0 ) ; // No tax on first 350K
279+ expect ( taxBreakdown [ 1 ] . slabCut ) . toBeGreaterThan ( 0 ) ; // Tax on excess at 5 %
280+ expect ( taxBreakdown [ 1 ] . slabPercentage ) . toBe ( 5 ) ; // First taxable bracket is 5 %
281281 } ) ;
282282
283283 test ( 'should apply minimum tax when calculated tax is lower' , ( ) => {
@@ -546,8 +546,8 @@ describe('Calculation-2025 Component', () => {
546546 age : 30 ,
547547 location : 'dhaka'
548548 } ) ;
549-
550- store . commit ( 'changeSubsequentSalaries' , { index : 0 , value : 31250 } ) ; // Exactly 375K annually
549+
550+ store . commit ( 'changeSubsequentSalaries' , { index : 0 , value : 29167 } ) ; // Exactly 350K annually
551551
552552 wrapper = mount ( Calculation2025 , {
553553 global : {
@@ -558,7 +558,7 @@ describe('Calculation-2025 Component', () => {
558558 const taxBreakdown = wrapper . vm . taxBreakdown ;
559559 const totalTax = wrapper . vm . totalTax ;
560560 const minimumTax = wrapper . vm . minimumTaxAmount ;
561-
561+
562562 expect ( taxBreakdown [ 0 ] . slabCut ) . toBe ( 0 ) ;
563563 expect ( totalTax ) . toBe ( minimumTax ) ; // Should apply minimum tax
564564 } ) ;
@@ -569,7 +569,7 @@ describe('Calculation-2025 Component', () => {
569569 age : 30 ,
570570 location : 'dhaka'
571571 } ) ;
572-
572+
573573 store . commit ( 'changeSubsequentSalaries' , { index : 0 , value : 500000 } ) ; // 6M annually
574574
575575 wrapper = mount ( Calculation2025 , {
@@ -580,8 +580,8 @@ describe('Calculation-2025 Component', () => {
580580
581581 const taxBreakdown = wrapper . vm . taxBreakdown ;
582582 const totalTax = wrapper . vm . totalTax ;
583-
584- expect ( taxBreakdown ) . toHaveLength ( 6 ) ;
583+
584+ expect ( taxBreakdown ) . toHaveLength ( 7 ) ;
585585 expect ( taxBreakdown [ 5 ] . slabCut ) . toBeGreaterThan ( 0 ) ; // Highest slab should have tax
586586 expect ( totalTax ) . toBeGreaterThan ( 100000 ) ; // Substantial tax amount
587587 } ) ;
@@ -592,7 +592,7 @@ describe('Calculation-2025 Component', () => {
592592 age : 30 ,
593593 location : 'dhaka'
594594 } ) ;
595-
595+
596596 store . commit ( 'changeSubsequentSalaries' , { index : 0 , value : 40000 } ) ;
597597
598598 wrapper = mount ( Calculation2025 , {
@@ -602,16 +602,16 @@ describe('Calculation-2025 Component', () => {
602602 } ) ;
603603
604604 const initialThreshold = wrapper . vm . taxFreeThreshold ;
605- expect ( initialThreshold ) . toBe ( 375000 ) ;
606-
605+ expect ( initialThreshold ) . toBe ( 350000 ) ;
606+
607607 store . commit ( 'updateTaxpayerProfile' , {
608608 category : 'disabled' ,
609609 age : 30 ,
610610 location : 'dhaka'
611611 } ) ;
612612
613613 const newThreshold = wrapper . vm . taxFreeThreshold ;
614- expect ( newThreshold ) . toBe ( 500000 ) ;
614+ expect ( newThreshold ) . toBe ( 475000 ) ;
615615 } ) ;
616616 } ) ;
617617
0 commit comments