source upload
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
/// 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, b: TAttendee;
|
||||
days1, days2: TSessionDays;
|
||||
res: TRegisterAttendee;
|
||||
begin
|
||||
a := TAttendee.Create;
|
||||
b := TAttendee.Create;
|
||||
try
|
||||
days1 := TSessionDay.From([0, 1, 2]);
|
||||
res := fProcess.Booking.RegisterAttendee('abc', ' def', days1, a);
|
||||
if res = raAlreadyRegistered then // works only first time (blank DB)
|
||||
res := fProcess.Booking.RegisterAttendee(CardinalToHex(UnixTimeUTC),
|
||||
RandomIdentifier(10), days1, a);
|
||||
check(res = raSuccess);
|
||||
check(a.Name <> '');
|
||||
check(length(a.FirstName) = 10);
|
||||
check(fProcess.Booking.SearchRegistration(a.Name, a.FirstName, days2, b) = srFound);
|
||||
check(a.Name = b.Name);
|
||||
check(a.RegistrationNumber = b.RegistrationNumber);
|
||||
check(DynArrayEquals(TypeInfo(TSessionDays), days1, days2));
|
||||
finally
|
||||
a.Free;
|
||||
b.Free;
|
||||
ObjArrayClear(days1);
|
||||
ObjArrayClear(days2);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestBookingApplication.ShutdownService;
|
||||
begin
|
||||
FreeAndNil(fProcess);
|
||||
FreeAndNil(fSettings);
|
||||
end;
|
||||
|
||||
initialization
|
||||
end.
|
Reference in New Issue
Block a user