File "jetpack-settings.test.js"

Full Path: /home/warrior1/public_html/plugins/jetpack/jetpack_vendor/automattic/jetpack-wordads/src/dashboard/store/actions/test/jetpack-settings.test.js
File size: 1.17 KB
MIME-type: text/x-java
Charset: utf-8

/**
 * @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' );
	} );
} );