@@ -2,9 +2,14 @@ import { CompanyService } from '~/api/company-service'
22import { CachingBuffettCodeApiClientV2 } from '~/api/v2/caching-client'
33import { CachingBuffettCodeApiClientV3 } from '~/api/v3/caching-client'
44import { DateParam } from '~/fiscal-periods/date-param'
5+ import { LqWithOffset } from '~/fiscal-periods/lq-with-offset'
6+ import { LyWithOffset } from '~/fiscal-periods/ly-with-offset'
57import { YearQuarter } from '~/fiscal-periods/year-quarter'
68import { YearQuarterParam } from '~/fiscal-periods/year-quarter-param'
79
10+ const LY = new LyWithOffset ( )
11+ const LQ = new LqWithOffset ( )
12+
813jest . mock ( '~/api/v2/client' , ( ) =>
914 jest . requireActual ( '~/__mocks__/api/v2/client' )
1015)
@@ -21,6 +26,55 @@ test('isSupportedTicker', () => {
2126 expect ( new CompanyService ( '9999' , client ) . isSupportedTicker ( ) ) . toBe ( false )
2227} )
2328
29+ test ( 'convertYearQuarterParamToYearQuarter' , ( ) => {
30+ const client = new CachingBuffettCodeApiClientV2 ( 'token' )
31+ const service = new CompanyService ( '2371' , client )
32+ expect (
33+ service . convertYearQuarterParamToYearQuarter ( new YearQuarterParam ( LY , 3 ) )
34+ ) . toEqual ( new YearQuarter ( 2021 , 3 ) )
35+ expect (
36+ service . convertYearQuarterParamToYearQuarter ( new YearQuarterParam ( 2016 , LQ ) )
37+ ) . toEqual ( new YearQuarter ( 2016 , 2 ) )
38+ expect (
39+ service . convertYearQuarterParamToYearQuarter ( new YearQuarterParam ( LY , LQ ) )
40+ ) . toEqual ( new YearQuarter ( 2021 , 2 ) )
41+ expect (
42+ service . convertYearQuarterParamToYearQuarter (
43+ new YearQuarterParam ( new LyWithOffset ( - 5 ) , LQ )
44+ )
45+ ) . toEqual ( new YearQuarter ( 2016 , 2 ) )
46+ expect (
47+ service . convertYearQuarterParamToYearQuarter (
48+ new YearQuarterParam ( LY , new LqWithOffset ( - 1 ) )
49+ )
50+ ) . toEqual ( new YearQuarter ( 2021 , 1 ) )
51+ expect (
52+ service . convertYearQuarterParamToYearQuarter (
53+ new YearQuarterParam ( LY , new LqWithOffset ( - 2 ) )
54+ )
55+ ) . toEqual ( new YearQuarter ( 2020 , 4 ) )
56+ expect (
57+ service . convertYearQuarterParamToYearQuarter (
58+ new YearQuarterParam ( LY , new LqWithOffset ( - 3 ) )
59+ )
60+ ) . toEqual ( new YearQuarter ( 2020 , 3 ) )
61+ expect (
62+ service . convertYearQuarterParamToYearQuarter (
63+ new YearQuarterParam ( LY , new LqWithOffset ( - 4 ) )
64+ )
65+ ) . toEqual ( new YearQuarter ( 2020 , 2 ) )
66+ expect (
67+ service . convertYearQuarterParamToYearQuarter (
68+ new YearQuarterParam ( LY , new LqWithOffset ( - 5 ) )
69+ )
70+ ) . toEqual ( new YearQuarter ( 2020 , 1 ) )
71+ expect (
72+ service . convertYearQuarterParamToYearQuarter (
73+ new YearQuarterParam ( new LyWithOffset ( - 5 ) , new LqWithOffset ( - 5 ) )
74+ )
75+ ) . toEqual ( new YearQuarter ( 2015 , 1 ) )
76+ } )
77+
2478test ( 'isOndemandQuarterApiPeriod' , ( ) => {
2579 const client = new CachingBuffettCodeApiClientV2 ( 'token' )
2680 const service = new CompanyService ( '2371' , client )
@@ -34,9 +88,30 @@ test('isOndemandQuarterApiPeriod', () => {
3488 expect ( service . isOndemandQuarterApiPeriod ( new YearQuarter ( 2016 , 3 ) ) ) . toBe (
3589 false
3690 )
91+ expect ( service . isOndemandQuarterApiPeriod ( new YearQuarterParam ( LY , 3 ) ) ) . toBe (
92+ false
93+ )
94+ expect (
95+ service . isOndemandQuarterApiPeriod ( new YearQuarterParam ( 2016 , LQ ) )
96+ ) . toBe ( true )
97+ expect ( service . isOndemandQuarterApiPeriod ( new YearQuarterParam ( LY , LQ ) ) ) . toBe (
98+ false
99+ )
37100 expect (
38- service . isOndemandQuarterApiPeriod ( new YearQuarterParam ( 'LY' , 'LQ' ) )
101+ service . isOndemandQuarterApiPeriod (
102+ new YearQuarterParam ( new LyWithOffset ( - 4 ) , new LqWithOffset ( - 3 ) )
103+ )
39104 ) . toBe ( false )
105+ expect (
106+ service . isOndemandQuarterApiPeriod (
107+ new YearQuarterParam ( new LyWithOffset ( - 4 ) , new LqWithOffset ( - 4 ) )
108+ )
109+ ) . toBe ( true )
110+ expect (
111+ service . isOndemandQuarterApiPeriod (
112+ new YearQuarterParam ( new LyWithOffset ( - 5 ) , LQ )
113+ )
114+ ) . toBe ( true )
40115} )
41116
42117test ( 'isOndemandDailyApiPeriod' , ( ) => {
0 commit comments