Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
wp-content-20241001222009
/
plugins
/
woocommerce
/
packages
/
woocommerce-blocks
/
assets
/
js
/
data
/
query-state
/
test
:
reducers.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/** * External dependencies */ import deepFreeze from 'deep-freeze'; /** * Internal dependencies */ import queryStateReducer from '../reducers'; import { setQueryValue, setValueForQueryContext } from '../actions'; describe( 'queryStateReducer', () => { const originalState = deepFreeze( { contexta: JSON.stringify( { foo: 'bar', cheese: 'pizza', } ), } ); it( 'returns original state when the action is not of the type being ' + 'processed', () => { expect( queryStateReducer( originalState, { type: 'invalid' } ) ).toBe( originalState ); } ); describe( 'SET_QUERY_KEY_VALUE action', () => { it( 'returns original state when incoming query-state key value ' + 'matches what is already in the state', () => { expect( queryStateReducer( originalState, setQueryValue( 'contexta', 'foo', 'bar' ) ) ).toBe( originalState ); } ); it( 'returns new state when incoming query-state key exist ' + 'but the value is a new value', () => { const newState = queryStateReducer( originalState, setQueryValue( 'contexta', 'foo', 'zed' ) ); expect( newState ).not.toBe( originalState ); expect( newState ).toEqual( { contexta: JSON.stringify( { foo: 'zed', cheese: 'pizza', } ), } ); } ); it( 'returns new state when incoming query-state key does not ' + 'exist', () => { const newState = queryStateReducer( originalState, setQueryValue( 'contexta', 'burger', 'pizza' ) ); expect( newState ).not.toBe( originalState ); expect( newState ).toEqual( { contexta: JSON.stringify( { foo: 'bar', cheese: 'pizza', burger: 'pizza', } ), } ); } ); } ); describe( 'SET_QUERY_CONTEXT_VALUE action', () => { it( 'returns original state when incoming context value matches ' + 'what is already in the state', () => { expect( queryStateReducer( originalState, setValueForQueryContext( 'contexta', { foo: 'bar', cheese: 'pizza', } ) ) ).toBe( originalState ); } ); it( 'returns new state when incoming context value is different ' + 'than what is already in the state', () => { const newState = queryStateReducer( originalState, setValueForQueryContext( 'contexta', { bar: 'foo', pizza: 'cheese', } ) ); expect( newState ).not.toBe( originalState ); expect( newState ).toEqual( { contexta: JSON.stringify( { bar: 'foo', pizza: 'cheese', } ), } ); } ); it( 'returns new state when incoming context does not exist in the ' + 'state', () => { const newState = queryStateReducer( originalState, setValueForQueryContext( 'contextb', { foo: 'bar', } ) ); expect( newState ).not.toBe( originalState ); expect( newState ).toEqual( { contexta: JSON.stringify( { foo: 'bar', cheese: 'pizza', } ), contextb: JSON.stringify( { foo: 'bar', } ), } ); } ); } ); } );