Add tests for courses
This commit is contained in:
parent
4e9a8a24b8
commit
220187bef4
|
@ -113,7 +113,11 @@ class FakeBackend {
|
|||
});
|
||||
|
||||
foreach ($data as $member) {
|
||||
app(CourseFake::class)->forMember($member['id'], $member['courses'] ?? []);
|
||||
$courseFake = app(CourseFake::class)
|
||||
->fetches($member['id'], collect(data_get($member, 'courses', []))->pluck('id')->toArray());
|
||||
foreach (data_get($member, 'courses', []) as $course) {
|
||||
$courseFake->fetchesSingle($member['id'], $course);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
|
|
|
@ -31,7 +31,7 @@ class CourseFake extends Fake {
|
|||
return $this;
|
||||
}
|
||||
|
||||
public function fetchesWithHtml(int $memberId): self
|
||||
public function failsFetchingWithHtml(int $memberId): self
|
||||
{
|
||||
Http::fake(function($request) use ($memberId) {
|
||||
if ($request->url() === "https://nami.dpsg.de/ica/rest/nami/mitglied-ausbildung/filtered-for-navigation/mitglied/mitglied/{$memberId}/flist") {
|
||||
|
@ -70,7 +70,7 @@ class CourseFake extends Fake {
|
|||
return $this;
|
||||
}
|
||||
|
||||
public function fetchesSingleWithHtml(int $memberId, int $courseId): self
|
||||
public function failsFetchingSingleWithHtml(int $memberId, int $courseId): self
|
||||
{
|
||||
Http::fake(function($request) use ($memberId, $courseId) {
|
||||
if ($request->url() === "https://nami.dpsg.de/ica/rest/nami/mitglied-ausbildung/filtered-for-navigation/mitglied/mitglied/{$memberId}/{$courseId}") {
|
||||
|
@ -103,7 +103,7 @@ class CourseFake extends Fake {
|
|||
});
|
||||
}
|
||||
|
||||
public function deleteSuccessful(int $memberId, int $courseId): void
|
||||
public function deletesSuccessfully(int $memberId, int $courseId): void
|
||||
{
|
||||
Http::fake(function($request) use ($memberId, $courseId) {
|
||||
if ($request->url() === "https://nami.dpsg.de/ica/rest/nami/mitglied-ausbildung/filtered-for-navigation/mitglied/mitglied/{$memberId}/{$courseId}" && $request->method() === 'DELETE') {
|
||||
|
@ -116,7 +116,7 @@ class CourseFake extends Fake {
|
|||
});
|
||||
}
|
||||
|
||||
public function deleteFailed(int $memberId, int $courseId): void
|
||||
public function failsDeleting(int $memberId, int $courseId): void
|
||||
{
|
||||
Http::fake(function($request) use ($memberId, $courseId) {
|
||||
if ($request->url() === "https://nami.dpsg.de/ica/rest/nami/mitglied-ausbildung/filtered-for-navigation/mitglied/mitglied/{$memberId}/{$courseId}" && $request->method() === 'DELETE') {
|
||||
|
@ -129,7 +129,7 @@ class CourseFake extends Fake {
|
|||
});
|
||||
}
|
||||
|
||||
public function createFails(int $memberId): void
|
||||
public function failsCreating(int $memberId): void
|
||||
{
|
||||
Http::fake(function($request) use ($memberId) {
|
||||
if ($request->url() === "https://nami.dpsg.de/ica/rest/nami/mitglied-ausbildung/filtered-for-navigation/mitglied/mitglied/{$memberId}") {
|
||||
|
@ -138,7 +138,7 @@ class CourseFake extends Fake {
|
|||
});
|
||||
}
|
||||
|
||||
public function doesntUpdateWithError(int $memberId, int $courseId, string $error = "Error"): void
|
||||
public function failsUpdating(int $memberId, int $courseId, string $error = "Error"): void
|
||||
{
|
||||
Http::fake(function($request) use ($memberId, $courseId, $error) {
|
||||
if ($request->url() === "https://nami.dpsg.de/ica/rest/nami/mitglied-ausbildung/filtered-for-navigation/mitglied/mitglied/{$memberId}/{$courseId}" && $request->method() === 'PUT') {
|
||||
|
|
|
@ -64,7 +64,7 @@ class CourseTest extends TestCase
|
|||
Auth::success(12345, 'secret');
|
||||
app(CourseFake::class)
|
||||
->fetches(11111, [788, 789])
|
||||
->fetchesSingleWithHtml(11111, 788)
|
||||
->failsFetchingSingleWithHtml(11111, 788)
|
||||
->fetchesSingle(11111, ['id' => 789]);
|
||||
|
||||
$courses = Nami::login(12345, 'secret')->coursesFor(11111);
|
||||
|
@ -75,7 +75,7 @@ class CourseTest extends TestCase
|
|||
public function test_return_empty_when_course_index_returns_html(): void
|
||||
{
|
||||
Auth::success(12345, 'secret');
|
||||
app(CourseFake::class)->fetchesWithHtml(11111);
|
||||
app(CourseFake::class)->failsFetchingWithHtml(11111);
|
||||
|
||||
$courses = Nami::login(12345, 'secret')->coursesFor(11111);
|
||||
|
||||
|
@ -145,7 +145,7 @@ class CourseTest extends TestCase
|
|||
{
|
||||
$this->expectException(NamiException::class);
|
||||
Auth::success(12345, 'secret');
|
||||
app(CourseFake::class)->doesntUpdateWithError(123, 999);
|
||||
app(CourseFake::class)->failsUpdating(123, 999);
|
||||
|
||||
Nami::login(12345, 'secret')->updateCourse(123, 999, [
|
||||
'event_name' => '::event::',
|
||||
|
@ -180,7 +180,7 @@ class CourseTest extends TestCase
|
|||
{
|
||||
$this->expectException(NamiException::class);
|
||||
Auth::success(12345, 'secret');
|
||||
app(CourseFake::class)->createFails(123);
|
||||
app(CourseFake::class)->failsCreating(123);
|
||||
Nami::login(12345, 'secret');
|
||||
|
||||
Nami::createCourse(123, [
|
||||
|
@ -191,4 +191,23 @@ class CourseTest extends TestCase
|
|||
]);
|
||||
}
|
||||
|
||||
public function test_delete_a_course(): void
|
||||
{
|
||||
Auth::success(12345, 'secret');
|
||||
app(CourseFake::class)->deletesSuccessfully(123, 999);
|
||||
|
||||
Nami::login(12345, 'secret')->deleteCourse(123, 999);
|
||||
|
||||
app(CourseFake::class)->assertDeleted(123, 999);
|
||||
}
|
||||
|
||||
public function test_shrow_exception_when_deleting_failed(): void
|
||||
{
|
||||
$this->expectException(NamiException::class);
|
||||
Auth::success(12345, 'secret');
|
||||
app(CourseFake::class)->failsDeleting(123, 999);
|
||||
|
||||
Nami::login(12345, 'secret')->deleteCourse(123, 999);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue