Skip to content

Instantly share code, notes, and snippets.

View vercetti11's full-sized avatar

Octavio Vercetti vercetti11

View GitHub Profile
@vercetti11
vercetti11 / useFetch.tsx
Created July 29, 2021 14:44
safe fetch with loading, error and no race conditions
import { useEffect, useRef, useReducer, useCallback } from 'react';
enum PromiseStatus {
IDLE = 'IDLE',
PENDING = 'PENDING',
RESOLVED = 'RESOLVED',
REJECTED = 'REJECTED',
}
export type State = {
import {renderHook, act} from '@testing-library/react-hooks'
import useCounter from '../../components/use-counter'
test('exposes the count and increment/decrement functions', () => {
const {result} = renderHook(useCounter)
expect(result.current.count).toBe(0)
act(() => result.current.increment())
expect(result.current.count).toBe(1)
act(() => result.current.decrement())
expect(result.current.count).toBe(0)
import React from 'react'
import {render, screen} from '@testing-library/react'
import userEvent from '@testing-library/user-event'
import faker from 'faker'
import Login from '../../components/login'
function buildLoginForm(overrides) {
return {
username: faker.internet.userName(),
password: faker.internet.password(),
@vercetti11
vercetti11 / robotGridProblem.js
Created October 9, 2020 07:54
Calculate reachable area
// Helper function
function countUpUntil(endNum) {
return 1 === endNum
? [1]
: [...countUpUntil(endNum - 1), endNum ];
};
function calculateReachableArea(maxSide){
const axisArea = maxSide * 4 + 1 // + 1 is for the [0,0] cell