@@ -2111,4 +2111,77 @@ describe('LogicCalculation', () => {
21112111 } ) ;
21122112 } ) ;
21132113 } ) ;
2114+
2115+ describe ( 'blue chus' , ( ) => {
2116+ beforeEach ( ( ) => {
2117+ fullSetup ( ) ;
2118+ } ) ;
2119+
2120+ describe ( 'when the player has no blue chus' , ( ) => {
2121+ test ( 'blue chus location is unavailable' , ( ) => {
2122+ const isBlueChusLocationAvailable = logic . isLocationAvailable (
2123+ 'Windfall Island' ,
2124+ 'Chu Jelly Juice Shop - Give 15 Blue Chu Jelly' ,
2125+ ) ;
2126+ expect ( isBlueChusLocationAvailable ) . toEqual ( false ) ;
2127+ } ) ;
2128+ } ) ;
2129+
2130+ describe ( 'when the player collects 1 blue chu' , ( ) => {
2131+ beforeEach ( ( ) => {
2132+ logic = new LogicCalculation (
2133+ logic . state ( ) . incrementItem ( 'Second Blue Chu Near Chest' ) ,
2134+ ) ;
2135+ } ) ;
2136+
2137+ test ( 'blue chus location is unavailable' , ( ) => {
2138+ const isBlueChusLocationAvailable = logic . isLocationAvailable (
2139+ 'Windfall Island' ,
2140+ 'Chu Jelly Juice Shop - Give 15 Blue Chu Jelly' ,
2141+ ) ;
2142+ expect ( isBlueChusLocationAvailable ) . toEqual ( false ) ;
2143+ } ) ;
2144+
2145+ test ( 'blue chu count is 1' , ( ) => {
2146+ const blueChuCount = logic . state ( ) . getItemValue ( LogicHelper . BLUE_CHU_JELLY_COUNT_ITEM ) ;
2147+ expect ( blueChuCount ) . toEqual ( 1 ) ;
2148+ } ) ;
2149+ } ) ;
2150+
2151+ describe ( 'when the player collects 15 blue chus' , ( ) => {
2152+ beforeEach ( ( ) => {
2153+ logic = new LogicCalculation (
2154+ logic . state ( )
2155+ . incrementItem ( 'Blue Chu Underneath Boulder' )
2156+ . incrementItem ( 'Blue Chu Near Northern Fairy Tree' )
2157+ . incrementItem ( 'First Blue Chu Near Chest' )
2158+ . incrementItem ( 'Blue Chu on High Ledge' )
2159+ . incrementItem ( 'Blue Chu on Highest Point' )
2160+ . incrementItem ( 'Blue Chu Near Southern Fairy Tree' )
2161+ . incrementItem ( 'Blue Chu on Highest Isle' )
2162+ . incrementItem ( 'Blue Chu Near Second Hole at Night' )
2163+ . incrementItem ( 'Blue Chu Near Peak Chest' )
2164+ . incrementItem ( 'Blue Chu Near Cave Entrance' )
2165+ . incrementItem ( 'Blue Chu Atop Northeast Statue' )
2166+ . incrementItem ( 'Blue Chu Near Western Fairy Tree' )
2167+ . incrementItem ( 'Blue Chu Near Final Rock Spire' )
2168+ . incrementItem ( 'Blue Chu Near Wooden Sign' )
2169+ . incrementItem ( 'Second Blue Chu Near Chest' ) ,
2170+ ) ;
2171+ } ) ;
2172+
2173+ test ( 'blue chus location is available' , ( ) => {
2174+ const isBlueChusLocationAvailable = logic . isLocationAvailable (
2175+ 'Windfall Island' ,
2176+ 'Chu Jelly Juice Shop - Give 15 Blue Chu Jelly' ,
2177+ ) ;
2178+ expect ( isBlueChusLocationAvailable ) . toEqual ( true ) ;
2179+ } ) ;
2180+
2181+ test ( 'blue chu count is 15' , ( ) => {
2182+ const blueChuCount = logic . state ( ) . getItemValue ( LogicHelper . BLUE_CHU_JELLY_COUNT_ITEM ) ;
2183+ expect ( blueChuCount ) . toEqual ( 15 ) ;
2184+ } ) ;
2185+ } ) ;
2186+ } ) ;
21142187} ) ;
0 commit comments