delphimvcframework/unittests/DMVCFrameworkTests/TestControllersU.pas
daniele.teti 0b6df41668 BUGFIXES
New sample: articles_crud
2014-06-27 13:30:39 +00:00

113 lines
2.2 KiB
ObjectPascal

unit TestControllersU;
interface
uses MVCFramework.Commons,
System.Classes,
Web.HTTPApp,
MVCFramework;
type
[MVCPath('/')]
TSimpleController = class(TMVCController)
private
FCalledActions: TStringList;
procedure AddCall(ActionName: String);
protected
procedure MVCControllerAfterCreate; override;
procedure MVCControllerBeforeDestroy; override;
public
[MVCPath('/')]
procedure Index(Context: TWebContext);
[MVCPath('/orders')]
[MVCProduces('application/json')]
procedure OrdersProduceJSON(Context: TWebContext);
[MVCPath('/orders')]
procedure Orders(Context: TWebContext);
[MVCHTTPMethod([httpGET])]
[MVCPath('/orders/($ordernumber)')]
procedure OrderNumber(Context: TWebContext);
[MVCHTTPMethod([httpPOST, httpPUT])]
[MVCPath('/orders/($ordernumber)')]
procedure UpdateOrderNumber(Context: TWebContext);
[MVCHTTPMethod([httpPATCH])]
[MVCPath('/orders/($ordernumber)')]
procedure PatchOrder(Context: TWebContext);
property CalledActions: TStringList read FCalledActions; // only for tests
end;
TNotSoSimpleController = class(TMVCController)
public
procedure Method1(CTX: TWebContext);
end;
implementation
{ TSimpleController }
procedure TSimpleController.AddCall(ActionName: String);
begin
FCalledActions.Add(ActionName);
end;
procedure TSimpleController.Index(Context: TWebContext);
begin
AddCall('Index');
end;
procedure TSimpleController.MVCControllerAfterCreate;
begin
inherited;
FCalledActions := TStringList.Create;
end;
procedure TSimpleController.MVCControllerBeforeDestroy;
begin
FCalledActions.Free;
inherited;
end;
procedure TSimpleController.Orders(Context: TWebContext);
begin
end;
procedure TSimpleController.OrdersProduceJSON(Context: TWebContext);
begin
end;
procedure TSimpleController.PatchOrder(Context: TWebContext);
begin
end;
procedure TSimpleController.UpdateOrderNumber(Context: TWebContext);
begin
end;
procedure TSimpleController.OrderNumber(Context: TWebContext);
begin
end;
{ TNotSoSimpleController }
procedure TNotSoSimpleController.Method1(CTX: TWebContext);
begin
end;
end.