Node.js · TypeScript

Gerador de Endereço em Node.js

SDK fakeforge-br gera endereço brasileiro completo. TypeScript types nativos. Snippets Jest, NestJS, Express.

npm install fakeforge-br

import { FakeForge } from "fakeforge-br"
const enderecos = await new FakeForge().address(100)

SDK oficial (TypeScript)

import { FakeForge, Address } from "fakeforge-br"

const ff = new FakeForge()

// Type-safe
const enderecos: Address[] = await ff.address(100)

for (const e of enderecos.slice(0, 3)) {
  console.log(`${e.logradouro}, ${e.bairro}, ${e.cidade}/${e.estado} — CEP ${e.cep}`)
}

// Preset customer com endereço correlacionado
const pessoas = await ff.preset("customer", 10)
pessoas.forEach(p => {
  console.log(`${p.nome}: ${p.endereco.cidade}/${p.endereco.estado}`)
})

NestJS seed

@Command({ name: "seed:enderecos" })
export class EnderecoSeedCommand extends CommandRunner {
  async run() {
    const ff = new FakeForge()
    const pessoas = await ff.preset("customer", 1000)

    await this.enderecos.bulkCreate(
      pessoas.map(p => ({
        cep: p.endereco.cep,
        logradouro: p.endereco.logradouro,
        bairro: p.endereco.bairro,
        cidade: p.endereco.cidade,
        uf: p.endereco.estado,
        nome_destinatario: p.nome,
      }))
    )
  }
}

Jest E2E — checkout com endereço

// tests/checkout-endereco.test.ts
import { FakeForge } from "fakeforge-br"

const ff = new FakeForge()

describe("Checkout /calcular-frete", () => {
  test("aceita endereço válido de qualquer UF", async () => {
    const enderecos = await ff.address(20)
    for (const e of enderecos.slice(0, 5)) {
      const res = await request(app).post("/calcular-frete").send({
        cep: e.cep, peso_kg: 2.5,
      })
      expect(res.status).toBe(200)
      expect(res.body.valor).toBeGreaterThan(0)
    }
  })
})