Skip to content

Commit 5daf1a1

Browse files
committed
wip
1 parent ec15de3 commit 5daf1a1

11 files changed

+41
-397
lines changed

src/DTO/Document.php

Lines changed: 0 additions & 85 deletions
This file was deleted.

src/DTO/DownloadedFile.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@
99
final class DownloadedFile
1010
{
1111
public function __construct(
12-
public readonly string $content,
1312
public readonly ?string $name,
1413
public readonly ?string $extension,
1514
public readonly ?int $size,
1615
public readonly ?string $contentType,
16+
public readonly string $content,
1717
) {}
1818

1919
public static function fromArray(array $data): self
2020
{
2121
return new self(
22-
content: Arr::get($data, 'content', ''),
2322
name: Arr::get($data, 'name'),
2423
extension: Arr::get($data, 'extension'),
25-
size: Arr::get($data, 'size'),
24+
size: Arr::get($data, 'size') !== null ? (int) Arr::get($data, 'size') : null,
2625
contentType: Arr::get($data, 'contentType'),
26+
content: Arr::get($data, 'content', ''),
2727
);
2828
}
2929

src/Requests/CreateSingleFileDocumentRequest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
namespace CodebarAg\MFiles\Requests;
66

7-
use CodebarAg\MFiles\DTO\Document;
7+
use CodebarAg\MFiles\DTO\ObjectProperties;
88
use CodebarAg\MFiles\DTO\SetProperty;
9-
use CodebarAg\MFiles\Responses\CreateSingleFileDocumentResponse;
9+
use CodebarAg\MFiles\Responses\ObjectPropertiesResponse;
1010
use Saloon\Contracts\Body\HasBody;
1111
use Saloon\Enums\Method;
1212
use Saloon\Http\Request;
@@ -42,8 +42,8 @@ protected function defaultBody(): array
4242
];
4343
}
4444

45-
public function createDtoFromResponse(Response $response): Document
45+
public function createDtoFromResponse(Response $response): ObjectProperties
4646
{
47-
return CreateSingleFileDocumentResponse::createDtoFromResponse($response);
47+
return ObjectPropertiesResponse::createDtoFromResponse($response);
4848
}
4949
}

src/Requests/GetObjectInformationRequest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace CodebarAg\MFiles\Requests;
66

77
use CodebarAg\MFiles\DTO\ObjectProperties;
8-
use CodebarAg\MFiles\Responses\GetObjectInformationResponse;
8+
use CodebarAg\MFiles\Responses\ObjectPropertiesResponse;
99
use Saloon\Enums\Method;
1010
use Saloon\Http\Request;
1111
use Saloon\Http\Response;
@@ -30,6 +30,6 @@ public function resolveEndpoint(): string
3030

3131
public function createDtoFromResponse(Response $response): ObjectProperties
3232
{
33-
return GetObjectInformationResponse::createDtoFromResponse($response);
33+
return ObjectPropertiesResponse::createDtoFromResponse($response);
3434
}
3535
}

src/Responses/CreateSingleFileDocumentResponse.php

Lines changed: 0 additions & 16 deletions
This file was deleted.

src/Responses/DownloadFileResponse.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ public static function createDtoFromResponse(Response $response): DownloadedFile
2020
$fileNameWithoutExtension = $fileName ? pathinfo($fileName, PATHINFO_FILENAME) : null;
2121

2222
return new DownloadedFile(
23-
content: $response->body(),
2423
name: $fileNameWithoutExtension,
2524
extension: $fileExtension,
2625
size: $fileSize,
2726
contentType: $fileContentType,
27+
content: $response->body(),
2828
);
2929
}
3030

src/Responses/GetObjectInformationResponse.php renamed to src/Responses/ObjectPropertiesResponse.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use CodebarAg\MFiles\DTO\ObjectProperties;
88
use Saloon\Http\Response;
99

10-
final class GetObjectInformationResponse
10+
final class ObjectPropertiesResponse
1111
{
1212
public static function createDtoFromResponse(Response $response): ObjectProperties
1313
{

tests/Feature/Requests/CreateSingleFileDocumentRequestTest.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@
44

55
use CodebarAg\MFiles\Connectors\MFilesConnector;
66
use CodebarAg\MFiles\DTO\ConfigWithCredentials;
7-
use CodebarAg\MFiles\DTO\Document;
7+
use CodebarAg\MFiles\DTO\ObjectProperties;
88
use CodebarAg\MFiles\DTO\SetProperty;
99
use CodebarAg\MFiles\Enums\MFDataTypeEnum;
1010
use CodebarAg\MFiles\Requests\CreateSingleFileDocumentRequest;
1111
use CodebarAg\MFiles\Requests\LogInToVaultRequest;
1212
use CodebarAg\MFiles\Requests\UploadFileRequest;
1313
use Illuminate\Support\Arr;
14+
use Illuminate\Support\Collection;
1415
use Saloon\Http\Faking\MockResponse;
1516
use Saloon\Laravel\Facades\Saloon;
1617

@@ -46,13 +47,16 @@
4647
new SetProperty(100, MFDataTypeEnum::LOOKUP, 207),
4748
];
4849

49-
$document = $connector->send(new CreateSingleFileDocumentRequest(
50+
$objecttProperty = $connector->send(new CreateSingleFileDocumentRequest(
5051
title: 'Custom Document',
5152
files: [$fileUpload],
5253
propertyValues: $propertyValues
5354
))->dto();
5455

55-
expect($document)->toBeInstanceOf(Document::class);
56-
expect($document->id)->toBe(1102);
57-
expect($document->title)->toBe('test-1');
56+
expect($objecttProperty)->toBeInstanceOf(ObjectProperties::class);
57+
expect($objecttProperty->objectId)->toBe(1102);
58+
expect($objecttProperty->objectTypeId)->toBe(0);
59+
expect($objecttProperty->objectVersionId)->toBe(1);
60+
expect($objecttProperty->properties)->toBeInstanceOf(Collection::class);
61+
expect($objecttProperty->files)->toBeInstanceOf(Collection::class);
5862
})->group('create-single-file-document');

tests/Feature/Requests/LogInToVaultRequestTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,12 @@
2222
$response = $request->send();
2323
$token = $response->dto();
2424

25+
// Test that the response is processed correctly
26+
expect($response)->toBeInstanceOf(\Saloon\Http\Response::class);
27+
expect($response->status())->toBe(200);
2528
expect($token)->toBeString();
2629
expect($token)->not->toBeEmpty();
30+
// Verify the token format from LogInToVaultResponse processing
31+
expect($token)->toContain('cTLaCmVUEnLy23IYT-NyZGRtzEvSOOANbJWkHH2G39Zep0wsjfm9ieBtz3M02bcPraJhXVapSm-SPJ5hPP7pcLg44jS1oTgPajc9uDcPtDqDTO4aqdK5Rddw8-VSUISptQwp-f2o8NcIwgfrJGGbXMNOR15uKJtm_Shzb86FwKAR41Nc1hLCJfcQaNxIEwSNhnl--2GDORGgRmhYxFXiMnO0D_BO_gVeBDoONORngMgno24aE5egN7Gp-qJ5ln2yNh4dCfWx5A6Oq8HJQq463Bdhy1OLpuTZ1oLqemE3llVm-WjIB4P-5W4mqwmuzaHbQ152FNtgtAtZVgOz_P1mTw');
2732

2833
})->group('authentication', 'log-in-to-vault');

0 commit comments

Comments
 (0)