summaryrefslogtreecommitdiffstats
path: root/tests/Cepis.Tests/Fixtures.cs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Cepis.Tests/Fixtures.cs')
-rw-r--r--tests/Cepis.Tests/Fixtures.cs69
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/Cepis.Tests/Fixtures.cs b/tests/Cepis.Tests/Fixtures.cs
new file mode 100644
index 0000000..648f881
--- /dev/null
+++ b/tests/Cepis.Tests/Fixtures.cs
@@ -0,0 +1,69 @@
+namespace Cepis.Tests;
+
+/// <summary>Bodies the API really returns, copied from it.</summary>
+public static class Fixtures
+{
+ /// <summary>A CEP with a street-precision coordinate.</summary>
+ public const string SeAddress = """
+ {"cep":"01001000","logradouro":"Praça da Sé","complemento":"lado ímpar",
+ "unidade":"","bairro":"Sé","localidade":"São Paulo","uf":"SP",
+ "estado":"São Paulo","regiao":"Sudeste","ibge":"3550308","gia":"1004",
+ "ddd":"11","siafi":"7107",
+ "geo":{"lat":-23.567202,"lon":-46.649659,"raio_m":1084,"precisao":"logradouro"}}
+ """;
+
+ /// <summary>A CEP the database has no coordinate for.</summary>
+ public const string NoGeoAddress = """
+ {"cep":"20040020","logradouro":"Avenida Rio Branco","complemento":"",
+ "unidade":"","bairro":"Centro","localidade":"Rio de Janeiro","uf":"RJ",
+ "estado":"Rio de Janeiro","regiao":"Sudeste","ibge":"3304557","gia":"",
+ "ddd":"21","siafi":"6001"}
+ """;
+
+ /// <summary>A coordinate whose numbers cannot be read.</summary>
+ public const string BrokenGeoAddress = """
+ {"cep":"01001000","logradouro":"Praça da Sé","complemento":"","unidade":"",
+ "bairro":"Sé","localidade":"São Paulo","uf":"SP","estado":"São Paulo",
+ "regiao":"Sudeste","ibge":"3550308","gia":"1004","ddd":"11","siafi":"7107",
+ "geo":{"lat":"nowhere","precisao":"logradouro"}}
+ """;
+
+ /// <summary>A response carrying a field this library does not model.</summary>
+ public const string FutureAddress = """
+ {"cep":"01001000","logradouro":"Praça da Sé","complemento":"","unidade":"",
+ "bairro":"Sé","localidade":"São Paulo","uf":"SP","estado":"São Paulo",
+ "regiao":"Sudeste","ibge":"3550308","gia":"1004","ddd":"11","siafi":"7107",
+ "cep_pai":"01000000"}
+ """;
+
+ /// <summary>The 404 body.</summary>
+ public const string NotFound =
+ """{"erro":"cep_nao_encontrado","mensagem":"CEP não existe na base do DNE"}""";
+
+ /// <summary>The 400 body.</summary>
+ public const string InvalidCep =
+ """{"erro":"cep_invalido","mensagem":"CEP deve ter 8 dígitos"}""";
+
+ /// <summary>The 500 body.</summary>
+ public const string InternalError = """{"erro":"interno","mensagem":"falha interna"}""";
+
+ /// <summary>A healthy API.</summary>
+ public const string Healthy = """
+ {"status":"ok","dne":"26071","ceps":1596168,"geo":894489,
+ "base_gerada_em":"2026-07-24T03:48:28Z"}
+ """;
+
+ /// <summary>The batch header row.</summary>
+ public const string CsvHeader =
+ "cep,logradouro,complemento,unidade,bairro,localidade,uf,estado,regiao,ibge,gia,ddd,siafi";
+
+ /// <summary>Three CEPs, the middle one absent from the database.</summary>
+ public const string CsvBatch = CsvHeader + "\n"
+ + "01001000,Praça da Sé,lado ímpar,,Sé,São Paulo,SP,São Paulo,Sudeste,3550308,1004,11,7107\n"
+ + "99999999,,,,,,,,,,,,\n"
+ + "20040020,Avenida Rio Branco,,,Centro,Rio de Janeiro,RJ,Rio de Janeiro,Sudeste,3304557,,21,6001\n";
+
+ /// <summary>One data row for a CEP, in the batch's column order.</summary>
+ public static string CsvRow(string cep) =>
+ $"{cep},Rua Teste,,,Centro,Cidade,SP,São Paulo,Sudeste,3550308,,11,7107";
+}