From e26d64ef4247bcf9d3e47ebc798555b18aaa31f1 Mon Sep 17 00:00:00 2001 From: Sean Dokko Date: Fri, 21 Jun 2019 12:55:31 -0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20write=20test=20scenarios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api-explorer/__tests__/index.test.jsx | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/packages/api-explorer/__tests__/index.test.jsx b/packages/api-explorer/__tests__/index.test.jsx index 904e09a0c..6e6c353f6 100644 --- a/packages/api-explorer/__tests__/index.test.jsx +++ b/packages/api-explorer/__tests__/index.test.jsx @@ -219,6 +219,49 @@ describe('auth', () => { expect(explorer.state('auth')).toEqual({ api_key: '123456', petstore_auth: '' }); }); + it('should disable lazy render first 5 projects', () => { + const explorer = shallow(); + + const { lazyHash } = explorer.instance(); + expect(lazyHash[0]).toEqual(false); + expect(lazyHash[1]).toEqual(false); + expect(lazyHash[2]).toEqual(false); + expect(lazyHash[3]).toEqual(false); + expect(lazyHash[4]).toEqual(false); + }); + + it('should disable lazy render middle 5 projects', () => { + // somewhere in the middle of props.docs + window.history.pushState({}, '', '/#user-createWithArray'); + const explorer = shallow(); + + const instance = explorer.instance(); + const slugs = instance.props.docs.map(x => x.slug); + const centerIdx = slugs.indexOf('user-createWithArray'); + + expect(instance.lazyHash[centerIdx - 2]).toEqual(false); + expect(instance.lazyHash[centerIdx - 1]).toEqual(false); + expect(instance.lazyHash[centerIdx]).toEqual(false); + expect(instance.lazyHash[centerIdx + 1]).toEqual(false); + expect(instance.lazyHash[centerIdx + 2]).toEqual(false); + }); + + it('should disable lazy render for last 5 projects', () => { + // last doc in props.docs + window.history.pushState({}, '', '/#user-username'); + const explorer = shallow(); + + const instance = explorer.instance(); + const slugs = instance.props.docs.map(x => x.slug); + const centerIdx = slugs.indexOf('user-username'); + + expect(instance.lazyHash[centerIdx - 2]).toEqual(false); + expect(instance.lazyHash[centerIdx - 1]).toEqual(false); + expect(instance.lazyHash[centerIdx]).toEqual(false); + expect(instance.lazyHash[centerIdx + 1]).toEqual(false); + expect(instance.lazyHash[centerIdx + 2]).toEqual(false); + }); + it('should default to empty string', () => { const explorer = shallow();