Skip to content

Commit 37dd7b9

Browse files
committed
Make JoinMeeting-Test work again
1 parent 5157dfe commit 37dd7b9

File tree

4 files changed

+40
-61
lines changed

4 files changed

+40
-61
lines changed

src/BigBlueButton.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,9 @@ public function getIsMeetingRunningUrl(IsMeetingRunningParameters $meetingParams
184184
}
185185

186186
/**
187-
* @param mixed $meetingParams
188-
*
189187
* @throws BadResponseException|\RuntimeException
190188
*/
191-
public function isMeetingRunning($meetingParams): IsMeetingRunningResponse
189+
public function isMeetingRunning(IsMeetingRunningParameters $meetingParams): IsMeetingRunningResponse
192190
{
193191
$xml = $this->processXmlResponse($this->getIsMeetingRunningUrl($meetingParams));
194192

src/Parameters/JoinMeetingParameters.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class JoinMeetingParameters extends UserDataParameters
4040

4141
private ?string $webVoiceConf = null;
4242

43-
private ?int $creationTime = null;
43+
private ?float $creationTime = null;
4444

4545
private ?string $avatarURL = null;
4646

@@ -147,12 +147,12 @@ public function setWebVoiceConf(string $webVoiceConf): self
147147
return $this;
148148
}
149149

150-
public function getCreationTime(): ?int
150+
public function getCreationTime(): ?float
151151
{
152152
return $this->creationTime;
153153
}
154154

155-
public function setCreationTime(int $creationTime): self
155+
public function setCreationTime(float $creationTime): self
156156
{
157157
$this->creationTime = $creationTime;
158158

src/Responses/CreateMeetingResponse.php

Lines changed: 12 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -25,102 +25,68 @@
2525
*/
2626
class CreateMeetingResponse extends BaseResponse
2727
{
28-
/**
29-
* @return string
30-
*/
31-
public function getMeetingId()
28+
public function getMeetingId(): string
3229
{
3330
return $this->rawXml->meetingID->__toString();
3431
}
3532

36-
/**
37-
* @return string
38-
*/
39-
public function getInternalMeetingId()
33+
public function getInternalMeetingId(): string
4034
{
4135
return $this->rawXml->internalMeetingID->__toString();
4236
}
4337

44-
/**
45-
* @return string
46-
*/
47-
public function getParentMeetingId()
38+
public function getParentMeetingId(): string
4839
{
4940
return $this->rawXml->parentMeetingID->__toString();
5041
}
5142

52-
/**
53-
* @return string
54-
*/
55-
public function getAttendeePassword()
43+
public function getAttendeePassword(): string
5644
{
5745
return $this->rawXml->attendeePW->__toString();
5846
}
5947

60-
/**
61-
* @return string
62-
*/
63-
public function getModeratorPassword()
48+
public function getModeratorPassword(): string
6449
{
6550
return $this->rawXml->moderatorPW->__toString();
6651
}
6752

6853
/**
6954
* Creation timestamp.
70-
*
71-
* @return float
7255
*/
73-
public function getCreationTime()
56+
public function getCreationTime(): float
7457
{
7558
return (float) $this->rawXml->createTime;
7659
}
7760

78-
/**
79-
* @return int
80-
*/
81-
public function getVoiceBridge()
61+
public function getVoiceBridge(): int
8262
{
8363
return (int) $this->rawXml->voiceBridge;
8464
}
8565

86-
/**
87-
* @return string
88-
*/
89-
public function getDialNumber()
66+
public function getDialNumber(): string
9067
{
9168
return $this->rawXml->dialNumber->__toString();
9269
}
9370

9471
/**
9572
* Creation date at the format "Sun Jan 17 18:20:07 EST 2016".
96-
*
97-
* @return string
9873
*/
99-
public function getCreationDate()
74+
public function getCreationDate(): string
10075
{
10176
return $this->rawXml->createDate->__toString();
10277
}
10378

104-
/**
105-
* @return bool
106-
*/
107-
public function hasUserJoined()
79+
public function hasUserJoined(): bool
10880
{
10981
return 'true' === $this->rawXml->hasUserJoined->__toString();
11082
}
11183

112-
/**
113-
* @return int
114-
*/
115-
public function getDuration()
84+
public function getDuration(): int
11685
{
11786
return (int) $this->rawXml->duration;
11887
}
11988

120-
/**
121-
* @return null|bool
122-
*/
123-
public function hasBeenForciblyEnded()
89+
public function hasBeenForciblyEnded(): bool
12490
{
12591
return 'true' === $this->rawXml->hasBeenForciblyEnded->__toString();
12692
}

tests/BigBlueButtonTest.php

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
namespace BigBlueButton;
2222

2323
use BigBlueButton\Core\ApiMethod;
24+
use BigBlueButton\Parameters\CreateMeetingParameters;
2425
use BigBlueButton\Parameters\DeleteRecordingsParameters;
2526
use BigBlueButton\Parameters\EndMeetingParameters;
2627
use BigBlueButton\Parameters\GetMeetingInfoParameters;
@@ -197,19 +198,33 @@ public function testCreateJoinMeetingUrl(): void
197198
*/
198199
public function testJoinMeeting(): void
199200
{
201+
// create a meeting that can be joined
202+
$createMeetingParameters = new CreateMeetingParameters($this->faker->uuid(), $this->faker->word());
203+
$createMeetingResponse = $this->bbb->createMeeting($createMeetingParameters);
204+
205+
// prepare to join the meeting
200206
$joinMeetingParams = $this->generateJoinMeetingParams();
201207
$joinMeetingMock = $this->getJoinMeetingMock($joinMeetingParams);
202208
$joinMeetingMock->setRedirect(false);
203209

204-
$joinMeeting = $this->bbb->joinMeeting($joinMeetingMock);
205-
206-
$this->assertEquals('SUCCESS', $joinMeeting->getReturnCode());
207-
$this->assertTrue($joinMeeting->success());
208-
$this->assertNotEmpty($joinMeeting->getAuthToken());
209-
$this->assertNotEmpty($joinMeeting->getUserId());
210-
$this->assertNotEmpty($joinMeeting->getSessionToken());
211-
$this->assertNotEmpty($joinMeeting->getGuestStatus());
212-
$this->assertNotEmpty($joinMeeting->getUrl());
210+
// adapt to join the above created meeting
211+
$joinMeetingMock->setMeetingId($createMeetingResponse->getMeetingId());
212+
$joinMeetingMock->setCreationTime($createMeetingResponse->getCreationTime());
213+
214+
// join the meeting
215+
$joinMeetingResponse = $this->bbb->joinMeeting($joinMeetingMock);
216+
217+
$this->assertEquals(
218+
'SUCCESS',
219+
$joinMeetingResponse->getReturnCode(),
220+
$joinMeetingResponse->getRawXml()->message->__toString()
221+
);
222+
$this->assertTrue($joinMeetingResponse->success());
223+
$this->assertNotEmpty($joinMeetingResponse->getAuthToken());
224+
$this->assertNotEmpty($joinMeetingResponse->getUserId());
225+
$this->assertNotEmpty($joinMeetingResponse->getSessionToken());
226+
$this->assertNotEmpty($joinMeetingResponse->getGuestStatus());
227+
$this->assertNotEmpty($joinMeetingResponse->getUrl());
213228
}
214229

215230
// End Meeting

0 commit comments

Comments
 (0)