ExisteArticulosTest.cs
1 using Microsoft.VisualStudio.TestTools.UnitTesting;
3 using Sage.ES.S50.UnitTest.Tools;
4 using System;
5 using System.Collections.Generic;
6 using System.Data;
7 using System.Linq;
8 using System.Text;
9 using System.Threading.Tasks;
10 
11 namespace Sage.ES.S50.UnitTest.addons.idatos
12 {
16  [TestClass()]
17  [DeploymentItem(@"Idatos\", "Idatos")]
18  public class ExisteArticuloTest
19  {
20  #region Properties
21 
22  private DataTable dtPlinter_c = new DataTable();
23  private DataTable dtPlinter_d = new DataTable();
24  private DataTable dtPlinter_d1 = new DataTable();
25  private DataTable dtPlinter_d2 = new DataTable();
26 
27  private TestContext testContextInstance;
28 
33  public TestContext TestContext
34  {
35  get
36  {
37  return testContextInstance;
38  }
39  set
40  {
41  testContextInstance = value;
42  }
43  }
44  #endregion Properties
45 
46  #region Additional test attributes
47  //
48  //You can use the following additional attributes as you write your tests:
49  //
50  //Use ClassInitialize to run code before running the first test in the class
51  [ClassInitialize()]
52  public static void MyClassInitialize(TestContext testContext)
53  {
54  //Conexion a Base de Datos
55  testContext.__Test_LoadRandomConfig();
56  }
57 
58  #endregion Additional test attributes
59 
60 
61  [Owner(Owners.Luisa_Galvan), TestMethod()]
62  [Priority(1)]
63  public void ComprobarExisteArticulo_IdatosTest()
64  {
65  #region DATOS INPUT
66 
67  DataTable ldtArticulo = new DataTable();
68  ldtArticulo.Clear();
69  ldtArticulo.Columns.Add("codigo", typeof(string));
70  ldtArticulo.Columns.Add("nombre", typeof(string));
71 
72  DataRow ldr = ldtArticulo.NewRow();
73  ldr["codigo"] = "cuader13";
74  ldr["nombre"] = "Men Adaptive Jacket";
75  ldtArticulo.Rows.Add(ldr);
76  #endregion
77 
79  string lcCarpetaAleatoria = System.IO.Path.GetRandomFileName().ToUpper();
80 
81  GuiaTools loGuiaTools = new GuiaTools();
82  loGuiaTools.Tools("0ARTICULOS_20230307.guide", "0ARTICULOS_20230307.csv", lcCarpetaAleatoria);
83 
84  //ImportacionBase loImportacion = new ImportacionBase();
85  //PrivateObject importacionPO = new PrivateObject(loImportacion);
86 
87  ImportacionArticulos loImportacion = new ImportacionArticulos();
88  PrivateObject importacionPO = new PrivateObject(loImportacion);
89 
90  PrivateType pt = new PrivateType(typeof(ImportacionBase));
91  pt.SetStaticFieldOrProperty("dtImportar", loGuiaTools.dtCSV);
92 
93  importacionPO.SetFieldOrProperty("dtAuxArticulo", ldtArticulo);
94 
95  loGuiaTools.DeleteTmp(lcCarpetaAleatoria);
96 
97  try
98  {
99  bool result = (bool)importacionPO.Invoke("ComprobarExiste", new object[] { Convert.ToString(ldtArticulo.Rows[0]["codigo"]) });
100  if (result)
101  {
102  Assert.IsTrue(result, $"Existe el artículo {Convert.ToString(ldtArticulo.Rows[0]["codigo"])}");
103  }
104  else
105  {
106  Assert.IsFalse(result, $"No existe el artículo {Convert.ToString(ldtArticulo.Rows[0]["codigo"])}");
107  }
108  }
109  catch (Exception)
110  {
111  Assert.Fail("Se ha producido una excepción en lista de registros automáticos");
112  }
113 
114  }
115  }
116 }
static bool testMode
Modo Test para no mostrar mensajes de alerta
Definition: classConfig.cs:31
Clase de negocio para la configuración del módulo de intercambio de datos
Definition: classConfig.cs:18