@@ -5,21 +5,21 @@ describe('calculateExpectedPrice', () => {
55 it ( 'should calculate price for 500k accounts and 700k messages' , ( ) => {
66 const accounts = 500_000 ;
77 const messages = 700_000 ;
8- const expectedPrice = 80 ; // 0.5 * 20$ + 0.7 * 100$ = 10 + 70 = 80
8+ const expectedPrice = 240 ; // 0.5 * $60 + 0.7 * $300 = 30 + 210 = 240
99 const price = calculateExpectedPrice ( accounts , messages ) ;
1010 expect ( price ) . toBe ( expectedPrice ) ;
1111 } ) ;
1212
1313 it ( 'should calculate price for 5 million accounts and 20 million messages' , ( ) => {
1414 const accounts = 5_000_000 ;
1515 const messages = 20_000_000 ;
16- const expectedPrice = 20 + 20 + 100 + 180 + 100 ;
17- // 1 million accounts at $20 = $20
18- // 4 million accounts at $5 = $20
16+ const expectedPrice = 60 + 60 + 300 + 540 + 300 ;
17+ // 1 million accounts at $60 = $60
18+ // 4 million accounts at $15 = $60
1919
20- // 1 million messages at $100 = $100
21- // 9 million messages at $20 = $180
22- // 10 million messages at $10 = $100
20+ // 1 million messages at $300 = $300
21+ // 9 million messages at $60 = $540
22+ // 10 million messages at $30 = $300
2323 const price = calculateExpectedPrice ( accounts , messages ) ;
2424 expect ( price ) . toBe ( expectedPrice ) ;
2525 } ) ;
@@ -35,37 +35,37 @@ describe('calculateExpectedPrice', () => {
3535 it ( 'should calculate price for 1 million accounts and 1 million messages' , ( ) => {
3636 const accounts = 1_000_000 ;
3737 const messages = 1_000_000 ;
38- const expectedPrice = 120 ; // 1 * 20$ + 1 * 100$ = 20 + 100 = 120
38+ const expectedPrice = 360 ; // 1 * $60 + 1 * $300 = 60 + 300 = 360
3939 const price = calculateExpectedPrice ( accounts , messages ) ;
4040 expect ( price ) . toBe ( expectedPrice ) ;
4141 } ) ;
4242
4343 it ( 'should calculate price for 15 million accounts and 50 million messages' , ( ) => {
4444 const accounts = 15_000_000 ;
4545 const messages = 50_000_000 ;
46- const expectedPrice = 75 + 100 + 400 + 180 ;
47- // 1 million accounts at $20 = $20
48- // 9 million accounts at $5 = $45
49- // 5 million accounts at $2 = $10
46+ const expectedPrice = 225 + 300 + 540 + 1200 ;
47+ // 1 million accounts at $60 = $60
48+ // 9 million accounts at $15 = $135
49+ // 5 million accounts at $6 = $30
5050
51- // 1 million messages at $100 = $100
52- // 9 million messages at $20 = $180
53- // 40 million messages at $10 = $400
51+ // 1 million messages at $300 = $300
52+ // 9 million messages at $60 = $540
53+ // 40 million messages at $30 = $1200
5454 const price = calculateExpectedPrice ( accounts , messages ) ;
5555 expect ( price ) . toBe ( expectedPrice ) ;
5656 } ) ;
5757
5858 it ( 'should calculate price for 15.3 million accounts and 50.7 million messages' , ( ) => {
5959 const accounts = 15_300_000 ;
6060 const messages = 50_700_000 ;
61- const expectedPrice = 20 + 45 + 10.6 + 100 + 180 + 407 ;
62- // 1 million accounts at $20 = $20
63- // 9 million accounts at $5 = $45
64- // 5.3 million accounts at $2 = $10.6
61+ const expectedPrice = 60 + 135 + 31.8 + 300 + 540 + 1221 ;
62+ // 1 million accounts at $60 = $60
63+ // 9 million accounts at $15 = $135
64+ // 5.3 million accounts at $6 = $31.8
6565
66- // 1 million messages at $100 = $100
67- // 9 million messages at $20 = $180
68- // 40.7 million messages at $10 = $407
66+ // 1 million messages at $300 = $300
67+ // 9 million messages at $60 = $540
68+ // 40.7 million messages at $30 = $1221
6969 const price = calculateExpectedPrice ( accounts , messages ) ;
7070 expect ( price ) . toBe ( expectedPrice ) ;
7171 } ) ;
0 commit comments