/** * @jest-environment jsdom */ import { updateJetpackSettings } from '../jetpack-settings'; describe( 'Jetpack Settings updateJetpackSettings action', () => { const action = updateJetpackSettings( undefined, undefined ); test( 'yield setJetpackSettings state to new one', () => { // Create notice 'Updating'. expect( action.next().value.type ).toBe( 'CREATE_NOTICE' ); // Set state updating flag. expect( action.next().value.type ).toBe( 'SET_WORDADS_SETTINGS' ); // Set state to the target state. expect( action.next().value.type ).toBe( 'SET_WORDADS_SETTINGS' ); // Post new settings to API. expect( action.next().value.type ).toBe( 'UPDATE_WORDADS_SETTINGS' ); // Fetch settings from API. expect( action.next().value.type ).toBe( 'FETCH_WORDADS_SETTINGS' ); // Set fetched setting from above step. expect( action.next().value.type ).toBe( 'SET_WORDADS_SETTINGS' ); // Remove 'Updating' notice. expect( action.next().value.type ).toBe( 'REMOVE_NOTICE' ); // Remove state updating flag. expect( action.next().value.type ).toBe( 'SET_WORDADS_SETTINGS' ); // Create success notice. expect( action.next().value.type ).toBe( 'CREATE_NOTICE' ); } ); } );