delphimvcframework/unittests/DMVCFrameworkTests/TestControllersU.pas

113 lines
2.2 KiB
ObjectPascal
Raw Normal View History

2013-10-30 01:09:09 +01:00
unit TestControllersU;
interface
uses MVCFramework.Commons,
System.Classes,
Web.HTTPApp,
MVCFramework;
type
[MVCPath('/')]
TSimpleController = class(TMVCController)
private
FCalledActions: TStringList;
procedure AddCall(ActionName: string);
2013-10-30 01:09:09 +01:00
protected
procedure MVCControllerAfterCreate; override;
procedure MVCControllerBeforeDestroy; override;
public
[MVCPath('/')]
procedure Index(Context: TWebContext);
2014-06-27 15:30:39 +02:00
[MVCPath('/orders')]
[MVCProduces('application/json')]
procedure OrdersProduceJSON(Context: TWebContext);
2013-10-30 01:09:09 +01:00
[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);
2014-03-24 17:37:08 +01:00
[MVCHTTPMethod([httpPATCH])]
[MVCPath('/orders/($ordernumber)')]
procedure PatchOrder(Context: TWebContext);
2013-10-30 01:09:09 +01:00
property CalledActions: TStringList read FCalledActions; // only for tests
end;
TNotSoSimpleController = class(TMVCController)
public
procedure Method1(CTX: TWebContext);
end;
2013-10-30 01:09:09 +01:00
implementation
{ TSimpleController }
procedure TSimpleController.AddCall(ActionName: string);
2013-10-30 01:09:09 +01:00
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;
2014-06-27 15:30:39 +02:00
procedure TSimpleController.OrdersProduceJSON(Context: TWebContext);
begin
end;
2014-03-24 17:37:08 +01:00
procedure TSimpleController.PatchOrder(Context: TWebContext);
begin
end;
2013-10-30 01:09:09 +01:00
procedure TSimpleController.UpdateOrderNumber(Context: TWebContext);
begin
end;
procedure TSimpleController.OrderNumber(Context: TWebContext);
begin
end;
{ TNotSoSimpleController }
procedure TNotSoSimpleController.Method1(CTX: TWebContext);
begin
end;
2013-10-30 01:09:09 +01:00
end.