unit uOscCustomersController_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, uCustomEditor, uOscCustomersController, uOscAddressBookController, uBizOscCustomers, uBizOscAddressBook; type // Test methods for class TClientesController TestTOscCustomersController = class(TTestCase) strict private FOscCustomersController: IOscCustomersController; 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 TestNuevoConDireccionesYSalvar; procedure RecuperarUnCliente; end; implementation uses schTiendaWebClient_Intf, uDADataTable, SysUtils, Dialogs, uIDataModuleTiendaWeb, uDataModuleTiendaWeb, uTiendaWebViewRegister, uHostMainForm; constructor TestTOscCustomersController.Create(MethodName: string); begin inherited; end; destructor TestTOscCustomersController.Destroy; begin //uContactosViewRegister.UnRegisterViews; inherited; end; procedure TestTOscCustomersController.RecuperarUnCliente; var ACustomer : IBizOscCustomer; begin ACustomer := FOscCustomersController.Buscar(400) as IBizOscCustomer; CheckNotNull(ACustomer, 'Cliente ID=400 no encontrado'); // FOscCustomersController.Ver(ACustomer); end; procedure TestTOscCustomersController.SetUp; begin FOscCustomersController := TOscCustomersController.Create; end; procedure TestTOscCustomersController.TearDown; begin FOscCustomersController := nil; end; procedure TestTOscCustomersController.TestListar; var ACustomer : IBizOscCustomer; begin ACustomer := (FOscCustomersController.BuscarTodos as IBizOscCustomer); // FOscCustomersController.VerTodos(ACustomer); end; procedure TestTOscCustomersController.TestVer; begin CheckTrue(False); // TODO: Validate method results end; procedure TestTOscCustomersController.TestNuevo; {var ACustomer: IBizOscCustomer;} begin { ACustomer := (FOscCustomersController.Nuevo as IBizOscCustomer); Check(Assigned(ACustomer), 'Cliente no creado'); Check(ACustomer.ID < 0, 'Cliente creado pero con ID incorrecto'); CheckEquals('Cliente', ACustomer.Categoria, 'No es un cliente'); Check(Assigned(ACustomer.DatosBancarios), 'Al cliente le faltan los datos bancarios'); FOscCustomersController.Ver(ACustomer);} end; procedure TestTOscCustomersController.TestNuevoYSalvar; var ACustomer: IBizOscCustomer; begin ACustomer := (FOscCustomersController.Nuevo as IBizOscCustomer); with ACustomer do begin Edit; customers_firstname := 'First Name'; customers_lastname := 'Last Name'; customers_email_address := 'email@address.com'; customers_telephone := '9182828282'; customers_fax := '937373733'; customers_password := 'aaaa'; Post; end; FOscCustomersController.Guardar(ACustomer); Check(ACustomer.customers_id >= 0, 'ID no asignado correctamente al contacto'); Check(False, 'ID asignado = ' + IntToStr(ACustomer.customers_id)); end; procedure TestTOscCustomersController.TestNuevoConDireccionesYSalvar; var ACustomer: IBizOscCustomer; I: Integer; begin ACustomer := (FOscCustomersController.Nuevo as IBizOscCustomer); with ACustomer do begin Edit; customers_firstname := 'First Name'; customers_lastname := 'Last Name'; customers_email_address := 'email@address.com'; customers_telephone := '9182828282'; customers_fax := '937373733'; customers_password := 'aaaa'; Post; end; with ACustomer.AddressBook do begin Check(Assigned(ACustomer.AddressBook), 'AddressBook no creado'); for i := 1 to 5 do begin Insert; Check(address_book_id < 0, 'Datos bancarios nuevo pero con ID incorrecto'); entry_gender := 'M'; entry_company := 'Company ' + IntToStr(i); entry_firstname := 'Firstname ' + IntToStr(i); entry_lastname := 'Lastname ' + IntToStr(i); entry_street_address := 'Street Address ' + IntToStr(i); entry_suburb := 'Suburb ' + IntToStr(i); entry_postcode := '1234 ' + IntToStr(i); entry_city := 'City ' + IntToStr(i); entry_state := 'State ' + IntToStr(i); Post; end; end; FOscCustomersController.Guardar(ACustomer); Check(ACustomer.customers_id >= 0, 'ID no asignado correctamente al contacto'); Check((ACustomer.AddressBook.RecordCount = 5), 'Faltan filas de direcciones'); for i := 0 to ACustomer.AddressBook.RecordCount - 1 do begin ShowMessage('ID asignado = ' + IntToStr(ACustomer.AddressBook.address_book_id)); ACustomer.AddressBook.Next; end; ACustomer.Edit; ACustomer.customers_default_address_id := ACustomer.AddressBook.address_book_id; ACustomer.Post; FOscCustomersController.Guardar(ACustomer); end; procedure TestTOscCustomersController.TestNuevoYVer; {var ACustomer: IBizOscCustomer;} begin { CheckTrue(False); ACustomer := (FOscCustomersController.Nuevo as IBizOscCustomer);} end; procedure TestTOscCustomersController.TestEncontrar; var ReturnValue: Boolean; ID: Integer; begin CheckTrue(False); // TODO: Setup method call parameters // ReturnValue := FOscCustomersController.ExisteContacto(ID); // TODO: Validate method results end; procedure TestTOscCustomersController.TestSalvar; var AContacto: IBizOscCustomer; begin CheckTrue(False); // TODO: Setup method call parameters // FOscCustomersController.Salvar(AContacto); // TODO: Validate method results end; initialization // Register any test cases with the test runner RegisterTest(TestTOscCustomersController.Suite); end.