(t *testing.T)
| 532 | } |
| 533 | |
| 534 | func TestImportOperationalUnits(t *testing.T) { |
| 535 | importer, cleanup := setupImporter(t) |
| 536 | defer cleanup() |
| 537 | |
| 538 | tmpDir, err := os.MkdirTemp("", "uop-test-*") |
| 539 | require.NoError(t, err) |
| 540 | defer os.RemoveAll(tmpDir) |
| 541 | |
| 542 | t.Run("import operational units successfully", func(t *testing.T) { |
| 543 | localities = make(map[string]*Localidade) |
| 544 | districts = make(map[string]*Bairro) |
| 545 | seenCEPs = make(map[string]bool) |
| 546 | |
| 547 | localities["001"] = &Localidade{ |
| 548 | Codigo: "001", |
| 549 | UF: "RJ", |
| 550 | Nome: "Rio de Janeiro", |
| 551 | CodigoIBGE: "3304557", |
| 552 | } |
| 553 | districts["002"] = &Bairro{ |
| 554 | Codigo: "002", |
| 555 | Nome: "Copacabana", |
| 556 | } |
| 557 | |
| 558 | uopFile := filepath.Join(tmpDir, "LOG_UNID_OPER.TXT") |
| 559 | content := "001@RJ@001@002@@Agência Central@Av Atlântica 1000@22070-000@CP@Ag Ctr\n" |
| 560 | |
| 561 | // Encode content to ISO-8859-1 |
| 562 | encoder := charmap.ISO8859_1.NewEncoder() |
| 563 | encodedContent, err := encoder.String(content) |
| 564 | require.NoError(t, err) |
| 565 | |
| 566 | err = os.WriteFile(uopFile, []byte(encodedContent), 0644) |
| 567 | require.NoError(t, err) |
| 568 | |
| 569 | count, err := importer.importOperationalUnits(uopFile) |
| 570 | assert.NoError(t, err) |
| 571 | assert.Equal(t, 1, count) |
| 572 | |
| 573 | err = importer.db.View(func(txn *badger.Txn) error { |
| 574 | item, err := txn.Get([]byte("cep:22070000")) |
| 575 | if err != nil { |
| 576 | return err |
| 577 | } |
| 578 | |
| 579 | return item.Value(func(val []byte) error { |
| 580 | var cep CEPCompleto |
| 581 | err := json.Unmarshal(val, &cep) |
| 582 | assert.NoError(t, err) |
| 583 | assert.Equal(t, "22070000", cep.CEP) |
| 584 | assert.Equal(t, "Av Atlântica 1000", cep.Logradouro) |
| 585 | assert.Equal(t, "Copacabana", cep.Bairro) |
| 586 | assert.Equal(t, "unid_oper", cep.TipoOrigem) |
| 587 | assert.Equal(t, "Agência Central", cep.NomeOrigem) |
| 588 | return nil |
| 589 | }) |
| 590 | }) |
| 591 | assert.NoError(t, err) |
nothing calls this directly
no test coverage detected