ImpresionAlbaven.cs
1 using System;
2 using System.Data;
3 using System.Collections.Generic;
4 using System.IO;
5 using System.Linq;
6 using Microsoft.VisualStudio.TestTools.UnitTesting;
7 using sage.ew.ewbase;
8 using sage.ew.global;
9 using sage.ew.docsven;
10 using sage.ew.docventatpv;
11 using Sage.ES.S50.UnitTest.Tools;
12 using sage.ew.reports;
13 
14 namespace Sage.ES.S50.UnitTest.Docsven
15 {
19  [TestClass()]
20  public class ImpresionAlbaven
21  {
22  #region PROPIEDADES PÚBLICAS
23 
24 
25  public TestContext TestContext
26  {
27  get
28  {
29  return testContextInstance;
30  }
31  set
32  {
33  testContextInstance = value;
34  }
35  }
36  private TestContext testContextInstance;
37 
38 
39  #endregion PROPIEDADES PÚBLICAS
40 
41 
42  #region PROPIEDADES PRIVADAS
43 
44 
48  private static string _cEmpresa;
49 
50 
54  private static string _CodigoCliente = "";
55 
56 
60  private static string _CodigoFormaDePago = "";
61 
62 
66  private static ewDocVentaTPV _oAlbaven;
67 
68 
69  #endregion PROPIEDADES PRIVADAS
70 
71 
72  #region MÉTODOS PÚBLICOS
73 
74 
75 
80  [ClassInitialize()]
81  [DoNotParallelize()]
82  public static void MyClassInitialize(TestContext testContext)
83  {
84  // Conexion a la base de datos
85  //
86  testContext.__Test_LoadRandomConfig();
87 
88  _cEmpresa = Convert.ToString(EW_GLOBAL._GetVariable("wc_empresa"));
89 
90  // Crear nuevo documento.
91  //
92 
93  // Utilizo este cliente que ya se que existe y que tiene datos de país y moneda correctos, fue creado por mí en la bd para
94  // otro test, y debe existir sí o sí.
95  //
96  _CodigoCliente = "43099441";
97 
98  _CodigoFormaDePago = testContext.__FieldAleatorio("GESTION", "FPAG");
99  _oAlbaven = new ewDocVentaTPV();
100  _oAlbaven._TipoDoc = 2; // Documento albarán de venta.
101 
102  if(_oAlbaven._New(_cEmpresa))
103  {
104  _oAlbaven._Cabecera._Cliente = _CodigoCliente;
105  _oAlbaven._Cabecera._FormaPago = _CodigoFormaDePago;
106  _oAlbaven._Fecha = DateTime.Now;
107 
108  ewDocVentaLinTPV loLin = _oAlbaven._AddLinea();
109  loLin._Articulo = "";
110  loLin._Definicion = "ART TEST";
111  loLin._TipoIva = "03";
112  loLin._Unidades = 1;
113  loLin._PrecioDivisa = 200.75M;
114 
115  loLin = _oAlbaven._AddLinea();
116  loLin._Articulo = "";
117  loLin._Definicion = "ART 2 TEST";
118  loLin._TipoIva = "03";
119  loLin._Unidades = 1;
120  loLin._PrecioDivisa = 200.50M;
121  }
122  else
123  {
124  Assert.Fail("No se ha podido crear el documento albarán de venta.");
125  }
126 
127  return;
128  }
129 
130 
135  [ClassCleanup()]
136  [DoNotParallelize()]
137  public static void Tasks_After_AllTests()
138  {
139  string lcNumero = "";
140 
141  if (_oAlbaven != null && !string.IsNullOrWhiteSpace(_oAlbaven._Numero))
142  {
143  lcNumero = _oAlbaven._Numero;
144 
145  if (!_oAlbaven._Delete())
146  throw new Exception("Se ha producido un error al eliminar el albarán de venta nº " + lcNumero);
147  }
148  return;
149  }
150 
151 
152  [Owner(Owners.JosepM_Gay),
153  TestMethod(),
154  Description("Método de prueba para impresión de albarán de venta valorado."),
155  Priority(1)]
156  [DoNotParallelize()]
158  {
159  _oAlbaven._DocPrint._Valorado = true;
160 
161  Assert.IsTrue(!string.IsNullOrEmpty(_GetTotal()));
162 
163  return;
164  }
165 
166 
167  [Owner(Owners.JosepM_Gay),
168  TestMethod(),
169  Description("Método de prueba para impresión de albarán de venta no valorado."),
170  Priority(1)]
171  [DoNotParallelize()]
173  {
174  _oAlbaven._DocPrint._Valorado = false;
175 
176  Assert.IsTrue(string.IsNullOrEmpty(_GetTotal()));
177 
178  return;
179  }
180 
181 
182  #endregion MÉTODOS PÚBLICOS
183 
184 
185  #region MÉTODOS PRIVADOS
186 
187 
192  private string _GetTotal()
193  {
194  Report loReport;
195  string lcValue = "";
196  FilterReportBase loFilter;
197  Dictionary<string, object> param = new Dictionary<string, object>();
198 
199  loReport = ((DocPrint)_oAlbaven._DocPrint)._CrearReport();
200 
201  loFilter = loReport._Filtros.Find(f => f._Key == "wc_TotalDocumento");
202 
203  if (loFilter is FilterReportBase)
204  {
205  lcValue = loFilter._Value;
206  }
207  else
208  {
209  Assert.Fail("No se ha podido encontrar el filtro wc_TotalDocumento en el report de albarán de venta.");
210  }
211 
212  return lcValue;
213  }
214 
215 
216  #endregion MÉTODOS PRIVADOS
217  }
218 }
219 
abstract String _Value
Valor
virtual string _Numero
Número del document
Definition: DocsVen.cs:2356
override bool _New(String tcEmpresa, String tcLetra="", String tcNumero="")
Por motives similares a los explicados en el "public override bool _Load" anterior se sobreescribe ta...
override bool _Delete()
Borrem el document i presentem display si cal
int _TipoDoc
Quan es treballa amb series de documents de quin tipo de document es tracta
Definition: DocsVen.cs:2392
Clase documento de venta TPV
Definition: DocVentaTpv.cs:47
virtual IDocPrint _DocPrint
Objeto DocPrint
Definition: DocsVen.cs:2752
static void MyClassInitialize(TestContext testContext)
Utilizaremos un código de cliente ya existente en la bd "43099441"
override decimal _Unidades
sobreescribim unitats pel tema del display
static void Tasks_After_AllTests()
Usar atributo ClassCleanup para ejecutar código después de finalizar la ejecución de todas las prueba...
decimal _PrecioDivisa
Precio divisa
Definition: DocsVen.cs:17146
_TipoDocCab _Cabecera
Cabecera
Definition: DocsVen.cs:2626
Clase linea de documento de venta TPV
DateTime _Fecha
Fecha del documento
Definition: DocsVen.cs:11760
Classe base dels documents.
Definition: DocsVen.cs:684
Clase de prueba para comprobar correcto funcionamiento de la impresión de albarán de venta...
override string _Articulo
PE-69903. Capturem el canvi d&#39;article per tractar les unitats automátiques del TPV (wl_paracantidad) ...
Clase base para traspasar información en el objeto serializado
override ewDocVentaLinTPV _AddLinea(Articulo toArticulo, int tnInsertLinea=-1, decimal tnUnidades=0m, decimal tnPrecio=0m, decimal tnPeso=0m, string tcAgrupacion="", decimal tnUnidAgrup=0, int tnTipoDoc=0)
Sobreescribir el método _AddLinea() para poder realizar la llamada al evento de pintado de series...
Clase para la impresión de documentos (del tipo que sea)
Definition: DocPrint.cs:33