UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

84 lines (65 loc) 2.35 kB
import * as React from "react"; import { renderHook, cleanup } from "@testing-library/react-hooks"; import { NetworkStatusContext } from "@applicaster/zapp-react-native-ui-components/Contexts/NetworkStatusContext"; const MockNetInfo = { type: "none", details: {}, isInternetReachable: false, isConnected: false, }; const { useConnectionInfo } = require("../"); describe("useConnectionInfo", () => { const wrapper = { // eslint-disable-next-line react/prop-types,react/display-name wrapper: ({ children }) => ( <NetworkStatusContext.Provider value={MockNetInfo}> {children} </NetworkStatusContext.Provider> ), }; it("renders", () => { const { result } = renderHook(() => useConnectionInfo(), wrapper); expect(result).toBeDefined(); cleanup(); }); it("it returns connection type", () => { const { result: { current }, } = renderHook(() => useConnectionInfo(), wrapper); expect(current.type).toEqual(MockNetInfo.type); cleanup(); }); it("Returns true if connection isConnected and isInternetReachable are true and justOnlineStatus is set", () => { MockNetInfo.isConnected = true; MockNetInfo.isInternetReachable = true; const { result: { current }, } = renderHook(() => useConnectionInfo(true), wrapper); expect(current).toEqual(true); }); it("Returns false if isConnected and isInternetReachable are false and justOnlineStatus is set", () => { MockNetInfo.isConnected = false; MockNetInfo.isInternetReachable = false; MockNetInfo.details = {}; const { result: { current }, } = renderHook(() => useConnectionInfo(true), wrapper); expect(current).toEqual(false); }); it("Returns true if isConntected and isInterneetReachable are null", () => { MockNetInfo.isConnected = null; MockNetInfo.isInternetReachable = null; const { result: { current }, } = renderHook(() => useConnectionInfo(true), wrapper); expect(current).toEqual(true); }); it("Returns true if isConntected and isInterneetReachable are undefined", () => { MockNetInfo.isConnected = undefined; MockNetInfo.isInternetReachable = undefined; const { result: { current }, } = renderHook(() => useConnectionInfo(true), wrapper); expect(current).toEqual(true); }); });