67 lines
1.3 KiB
ObjectPascal
67 lines
1.3 KiB
ObjectPascal
/// unit tests for the Booking server
|
|
unit ServBookTest;
|
|
|
|
interface
|
|
|
|
uses
|
|
SysUtils,
|
|
Classes,
|
|
SynCommons,
|
|
SynTests,
|
|
mORMot,
|
|
DomConferenceTypes,
|
|
DomConferenceInterfaces,
|
|
DomConferenceServices,
|
|
InfraConferenceRepository,
|
|
ServBookMain;
|
|
|
|
type
|
|
TTestBookingApplication = class(TSynTestCase)
|
|
protected
|
|
fSettings: TBookProcessSettings;
|
|
fProcess: TBookProcess;
|
|
published
|
|
procedure RunService;
|
|
procedure ApplicationTest;
|
|
procedure ShutdownService;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
{ TTestBookingApplication }
|
|
|
|
procedure TTestBookingApplication.RunService;
|
|
begin
|
|
fSettings := TBookProcessSettings.Create;
|
|
fProcess := TBookProcess.Create(fSettings);
|
|
end;
|
|
|
|
procedure TTestBookingApplication.ApplicationTest;
|
|
var
|
|
a: TAttendee;
|
|
days: TSessionDays;
|
|
res: TRegisterAttendee;
|
|
begin
|
|
a := TAttendee.Create;
|
|
try
|
|
days := TSessionDay.From([0, 1, 2]);
|
|
res := fProcess.Booking.RegisterAttendee('abc', ' def', days, a);
|
|
if res = raAlreadyRegistered then // would works only first time
|
|
res := fProcess.Booking.RegisterAttendee(CardinalToHex(UnixTimeUTC),
|
|
RandomIdentifier(10), days, a);
|
|
check(res = raSuccess);
|
|
finally
|
|
a.Free;
|
|
ObjArrayClear(days);
|
|
end;
|
|
end;
|
|
|
|
procedure TTestBookingApplication.ShutdownService;
|
|
begin
|
|
FreeAndNil(fProcess);
|
|
FreeAndNil(fSettings);
|
|
end;
|
|
|
|
initialization
|
|
end. |