/** * External dependencies */ import TestRenderer from 'react-test-renderer'; /** * Internal dependencies */ import withCategory from '../with-category'; import * as mockUtils from '../../components/utils'; import * as mockBaseUtils from '../../base/utils/errors'; jest.mock( '../../components/utils', () => ( { getCategory: jest.fn(), } ) ); jest.mock( '../../base/utils/errors', () => ( { formatError: jest.fn(), } ) ); const mockCategory = { name: 'Clothing' }; const attributes = { categoryId: 1 }; const TestComponent = withCategory( ( props ) => { return (
); } ); const render = () => { return TestRenderer.create( ); }; describe( 'withCategory Component', () => { let renderer; afterEach( () => { mockUtils.getCategory.mockReset(); } ); describe( 'lifecycle events', () => { beforeEach( () => { mockUtils.getCategory.mockImplementation( () => Promise.resolve() ); renderer = render(); } ); it( 'getCategory is called on mount with passed in category id', () => { const { getCategory } = mockUtils; expect( getCategory ).toHaveBeenCalledWith( attributes.categoryId ); expect( getCategory ).toHaveBeenCalledTimes( 1 ); } ); it( 'getCategory is called on component update', () => { const { getCategory } = mockUtils; const newAttributes = { ...attributes, categoryId: 2 }; renderer.update( ); expect( getCategory ).toHaveBeenNthCalledWith( 2, newAttributes.categoryId ); expect( getCategory ).toHaveBeenCalledTimes( 2 ); } ); it( 'getCategory is hooked to the prop', () => { const { getCategory } = mockUtils; const props = renderer.root.findByType( 'div' ).props; props.getCategory(); expect( getCategory ).toHaveBeenCalledTimes( 2 ); } ); } ); describe( 'when the API returns category data', () => { beforeEach( () => { mockUtils.getCategory.mockImplementation( ( categoryId ) => Promise.resolve( { ...mockCategory, id: categoryId } ) ); renderer = render(); } ); it( 'sets the category props', () => { const props = renderer.root.findByType( 'div' ).props; expect( props.error ).toBeNull(); expect( typeof props.getCategory ).toBe( 'function' ); expect( props.isLoading ).toBe( false ); expect( props.category ).toEqual( { ...mockCategory, id: attributes.categoryId, } ); } ); } ); describe( 'when the API returns an error', () => { const error = { message: 'There was an error.' }; const getCategoryPromise = Promise.reject( error ); const formattedError = { message: 'There was an error.', type: 'api' }; beforeEach( () => { mockUtils.getCategory.mockImplementation( () => getCategoryPromise ); mockBaseUtils.formatError.mockImplementation( () => formattedError ); renderer = render(); } ); it( 'sets the error prop', ( done ) => { const { formatError } = mockBaseUtils; getCategoryPromise.catch( () => { const props = renderer.root.findByType( 'div' ).props; expect( formatError ).toHaveBeenCalledWith( error ); expect( formatError ).toHaveBeenCalledTimes( 1 ); expect( props.error ).toEqual( formattedError ); expect( typeof props.getCategory ).toBe( 'function' ); expect( props.isLoading ).toBe( false ); expect( props.category ).toBeNull(); done(); } ); } ); } ); } ); HOW TO CRIC – Page 4

Mostbet Bangladesh Affiliate Program Join To Earn Big Money ⭐️

Mostbet Bangladesh Affiliate Program Join To Earn Big Money ⭐️This may sound shocking and unbelievable, but Mostbet offers a welcome bonus of 125% of the deposited account! In the most effective left corner, you will notice several additional functions of the web site such as language, odds format, time, among others. With the Partners1xBet mobile …

Mostbet Bangladesh Affiliate Program Join To Earn Big Money ⭐️ Read More »

Pin Up Casino Azerbaijan-a Necə Qeydiyyatdan Keçmək Və Batil Olmaq Olar? Karnataka Janaseva Trust

Pin Up Casino Azerbaijan-a Necə Qeydiyyatdan Keçmək Və Batil Olmaq Olar? Karnataka Janaseva TrustMəsələn, cekpot variantının mövcud olduğu rəngarəng lotereya slotları oynaya bilərsiniz. Content Pin Up On The Internet Casino Azerbaycan ️ Onlayn Kazino Pinup Xarici Saytı ən Yaxşı Slot Maşınları Pin Up Casino Azerbayjan Pin Up Bonus Pul Çıxarılır? Unikal Xüsusiyyətlər Pin-up-da Necə Əmanət …

Pin Up Casino Azerbaijan-a Necə Qeydiyyatdan Keçmək Və Batil Olmaq Olar? Karnataka Janaseva Trust Read More »

Formal Sayt ️: ən əla Bonuslar Və Mobil Proqram!

Formal Sayt ️: ən əla Bonuslar Və Mobil Proqram!Onun artan populyarlığı, online kazino oyununda bu təzə aviasiya temalı oyuna nə miqdar insanın qoşulduğunu göstərir. Content 🆓 Pulsuz Aviator 1xbet Oynayın: Demo Oyun 📲 Mobil Proloq: Android Və Ios Cihazları üçün Aviator 1xbet Tətbiqi 💻 Aviator Oyun İnterfeysi Və Mexanika 🤑 Pul çıxarma Limitləri ➡️💻 1xbet-də …

Formal Sayt ️: ən əla Bonuslar Və Mobil Proqram! Read More »

프리미어 스포츠 베팅 & 카지노

프리미어 스포츠 베팅 & 카지노” “온라인 스포츠 베팅 Content Bet 라이브 카지노 🥇1xbet 베팅 회사 — 무엇이 궁금하세요? 즉석 게임 입금 및 출금 Bet 베팅 회사 – 온라인 스포츠 베팅 Bet 보너스 제안 단계 1: 1xbet 방문 ⚽1xbet에서는 어떤 스포츠와 이벤트에 베팅할 수 있나요? Bet에서 돈을 입금하는 방법은 무엇인가요? 단계 3: 보너스 청구하기 Bet 온라인 …

프리미어 스포츠 베팅 & 카지노 Read More »

“1xbet 앱1xbet 모바일 ᐉ 1xbet Apk안드로이드 & 아이폰를 다운로드하세요 ᐉ 1xbet Co

“1xbet 앱1xbet 모바일 ᐉ 1xbet Apk안드로이드 & 아이폰를 다운로드하세요 ᐉ 1xbet Com 안드로이드 및 Ios용 앱 한국에서 앱 다운로드 Content Bet 회사의 신청을 통한 수익성있는 베팅 앱에서 제공되는 즉시 플레이 게임 Bet 모바일 앱을 태블릿에서 사용하고 플랫폼에 댓글을 남기는 방법을 소개합니다 베팅은 어디에서 하나요? Bet 지원 주요 슬롯 게임 후회 없이, 제트기에 베팅하세요! Bet 프로모션 …

“1xbet 앱1xbet 모바일 ᐉ 1xbet Apk안드로이드 & 아이폰를 다운로드하세요 ᐉ 1xbet Co Read More »

1xbet Korea: 한국 플레이어를 위한 북메이커 정

1xbet Korea: 한국 플레이어를 위한 북메이커 정보 Linkedin Eight 8-10 Bet Ks A Single 페이지: 1xbet Korea 먹튀 진짜입니까? 이 거짓 소문을 반 4가지 증거 Content ‘당 대표’ 한동훈 앞에 놓인 과제, 당정관계 재정립·통합·대야 투쟁 Bet 롤링이란? 재베팅 라운드가 가장 작은3개의 1xbet 프로모 Bet Horses Racing: 최신 최고 경기에 베팅하는 방법 Bet Korea 먹튀 온라인 …

1xbet Korea: 한국 플레이어를 위한 북메이커 정 Read More »

Türkiye Pozlamaya Göre En Üst Sıralarda Yer Alan Slotla

Türkiye Pozlamaya Göre En Üst Sıralarda Yer Alan Slotlar En İyi Slot Oyunları Ücretsiz Casino Oyunları Content Diğer En Yeni Casino Oyunları » Durante İyi Oyunlar Rtp, Varyans, Hit Frekansı Empieza Maksimum Pozlama Butonlar Ve Özel Semboller Online Slotlar ❔ Çevrimiçi Kumarhanelerde Gerçek Para Kazanabilir Miyim? En İyi 10 En İyi Çevrimiçi Slot Slotlarda Ödülleri …

Türkiye Pozlamaya Göre En Üst Sıralarda Yer Alan Slotla Read More »

Bütün hüquqlar qorunur. “Tottenhem”in təzə forması – FOTOLAR Çempionlar Liqasının lap yüksək mostbet gənc futbolçusu Bütün hüquqlar qorunur. “Tottenhem”in yeni forması – FOTOLAR Bütün hüquqlar qorunur. “Tottenhem”in müasir forması – FOTOLAR Çempionlar Liqasının ən yüksək gənc futbolçusu

Как Скачать Мобильное Приложение 1xbet На Андроид бесплатно С Официального Сайта%3

Как Скачать Мобильное Приложение 1xbet На Андроид бесплатно С Официального Сайта%3F 1xbet 1хбет Скачать Приложение в Андроид Android Apk Content Преимущества И особенности Мобильного Клиента” Нет официальному Представителя Разработчика и Сайте Скриншоты Приложения 1xbet Как Скачать 1xbet На Компьютер нежелающим (с Официального Сайта) как Букмекеры Защищают ваших Клиентов И Соблюдают Правила Честной Игры Скачать 1xbet …

Как Скачать Мобильное Приложение 1xbet На Андроид бесплатно С Официального Сайта%3 Read More »

1xbet ᐉ Ставки на Спорт Онлайн ᐉ Букмекерская Контора 1хбет ᐉ 1xbet Com ᐉ Ma-1xbet Com

1xbet ᐉ Ставки на Спорт Онлайн ᐉ Букмекерская Контора 1хбет ᐉ 1xbet Com ᐉ Ma-1xbet Com” 1xbet Официальный Сайт%3A Мобильная Версия И отчасти Другое 1х официальным Сайт Content Мобильная Версия Сайта 1xbet%3A Удобство И Быстрота 🥇букмекерская Компания 1xbet — Что Вы хотели Бы Знать%3F Bet Официальный Сайт%3A Мобильная Версия Букмекерские линии 1xbet – Ставки На …

1xbet ᐉ Ставки на Спорт Онлайн ᐉ Букмекерская Контора 1хбет ᐉ 1xbet Com ᐉ Ma-1xbet Com Read More »

Scroll to Top