unit uClientesController_test; { Delphi DUnit Test Case ---------------------- This unit contains a skeleton test case class generated by the Test Case Wizard. Modify the generated code to correctly setup and call the methods from the unit being tested. } interface uses TestFramework, uIEditorCliente, uIEditorClientes, uClientesController, uCustomEditor, uBizContactos; type // Test methods for class TClientesController TestTClientesController = class(TTestCase) strict private FClientesController: IClientesController; public procedure SetUp; override; procedure TearDown; override; constructor Create(MethodName: string); override; destructor Destroy; override; published procedure TestListar; procedure TestVer; procedure TestNuevo; procedure TestNuevoYVer; procedure TestEncontrar; procedure TestSalvar; procedure TestNuevoYSalvar; procedure RecuperarUnCliente; procedure SeleccionarUnCliente; end; implementation uses schContactosClient_Intf, uDADataTable, SysUtils, Dialogs, uIDataModuleContactos, uDataModuleContactos, uBizDatosBancarios, uContactosViewRegister, uHostMainForm; constructor TestTClientesController.Create(MethodName: string); begin inherited; end; destructor TestTClientesController.Destroy; begin //uContactosViewRegister.UnRegisterViews; inherited; end; procedure TestTClientesController.RecuperarUnCliente; var ACliente : IBizCliente; begin ACliente := FClientesController.Buscar(400) as IBizCliente; CheckNotNull(ACliente, 'Cliente ID=400 no encontrado'); FClientesController.Ver(ACliente); end; procedure TestTClientesController.SeleccionarUnCliente; var AClientes : IBizCliente; ACliente : IBizCliente; begin AClientes := (FClientesController.BuscarTodos as IBizCliente); CheckNotNull(AClientes, 'Clientes no encontrados'); ACliente := (FClientesController.ElegirContacto(AClientes, 'Selecciona una lciente', False) as IBizCliente); CheckNotNull(ACliente, 'Cliente no elegido'); FClientesController.Ver(ACliente); end; procedure TestTClientesController.SetUp; begin FClientesController := TClientesController.Create; end; procedure TestTClientesController.TearDown; begin FClientesController := nil; end; procedure TestTClientesController.TestListar; var AContactos : IBizCliente; begin AContactos := (FClientesController.BuscarTodos as IBizCliente); FClientesController.VerTodos(AContactos); end; procedure TestTClientesController.TestVer; begin CheckTrue(False); // TODO: Validate method results end; procedure TestTClientesController.TestNuevo; var ACliente: IBizCliente; begin ACliente := (FClientesController.Nuevo as IBizCliente); Check(Assigned(ACliente), 'Cliente no creado'); Check(ACliente.ID < 0, 'Cliente creado pero con ID incorrecto'); CheckEquals('Cliente', ACliente.Categoria, 'No es un cliente'); Check(Assigned(ACliente.DatosBancarios), 'Al cliente le faltan los datos bancarios'); FClientesController.Ver(ACliente); end; procedure TestTClientesController.TestNuevoYSalvar; var ACliente: IBizCliente; I: Integer; begin ACliente := (FClientesController.Nuevo as IBizCliente); with ACliente do begin NIF_CIF := '1234567890-X'; NOMBRE := 'David Arranz Puerta'; CALLE := 'Dehesa de Vicálvaro, 47 2ºC'; POBLACION := 'Madrid'; PROVINCIA := 'Madrid'; CODIGO_POSTAL := '28053'; TELEFONO_1 := '123456789'; TELEFONO_2 := '9876543231'; MOVIL_1 := '101918171615141312'; MOVIL_2 := '010203040506070809'; FAX := '1111111111'; EMAIL_1 := 'porqueyolovalgo@osea.com'; EMAIL_2 := 'fromlost@totheriver.com'; PAGINA_WEB := 'http://www.trapicheos.com'; DataTable.Post; end; with ACliente.DatosBancarios do begin Check(Assigned(ACliente.DatosBancarios), 'Datos bancarios no creado'); for i := 1 to 5 do begin Insert; Check(ID < 0, 'Datos bancarios nuevo pero con ID incorrecto'); TITULAR := ACliente.NOMBRE; ENTIDAD := '1931'; SUCURSAL := '3034'; DC := '15'; CUENTA := '000000' + IntToStr(i); Post; end; end; FClientesController.Guardar(ACliente); Check(ACliente.ID >= 0, 'ID no asignado correctamente al contacto'); Check((ACliente.DatosBancarios.RecordCount = 5), 'Faltan filas de datos bancarios'); end; procedure TestTClientesController.TestNuevoYVer; var ACliente: IBizCliente; begin CheckTrue(False); ACliente := (FClientesController.Nuevo as IBizCliente); end; procedure TestTClientesController.TestEncontrar; var ReturnValue: Boolean; ID: Integer; begin CheckTrue(False); // TODO: Setup method call parameters // ReturnValue := FClientesController.ExisteContacto(ID); // TODO: Validate method results end; procedure TestTClientesController.TestSalvar; var AContacto: IBizCliente; begin CheckTrue(False); // TODO: Setup method call parameters // FClientesController.Salvar(AContacto); // TODO: Validate method results end; initialization // Register any test cases with the test runner RegisterTest(TestTClientesController.Suite); end.