Skip to content

Commit 8f3d99d

Browse files
committed
fix: update documentation and fix some unit tests
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
1 parent 8f0258a commit 8f3d99d

6 files changed

Lines changed: 140 additions & 0 deletions

File tree

lib/ResponseDefinitions.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,15 @@
5353
* statusText: string,
5454
* nodeType: 'file'|'envelope',
5555
* created_at: string,
56+
* file: string,
57+
* metadata: LibresignValidateMetadata,
58+
* signatureFlow: 'none'|'parallel'|'ordered_numeric',
59+
* visibleElements: LibresignVisibleElement[],
60+
* signers: LibresignSigner[],
61+
* requested_by: array{
62+
* userId: string,
63+
* displayName: string,
64+
* },
5665
* filesCount: int<0, max>,
5766
* files: list<array{nodeId: int, uuid: string, name: string, status: int, statusText: string}>,
5867
* }

openapi-full.json

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,12 @@
779779
"statusText",
780780
"nodeType",
781781
"created_at",
782+
"file",
783+
"metadata",
784+
"signatureFlow",
785+
"visibleElements",
786+
"signers",
787+
"requested_by",
782788
"filesCount",
783789
"files"
784790
],
@@ -817,6 +823,47 @@
817823
"created_at": {
818824
"type": "string"
819825
},
826+
"file": {
827+
"type": "string"
828+
},
829+
"metadata": {
830+
"$ref": "#/components/schemas/ValidateMetadata"
831+
},
832+
"signatureFlow": {
833+
"type": "string",
834+
"enum": [
835+
"none",
836+
"parallel",
837+
"ordered_numeric"
838+
]
839+
},
840+
"visibleElements": {
841+
"type": "array",
842+
"items": {
843+
"$ref": "#/components/schemas/VisibleElement"
844+
}
845+
},
846+
"signers": {
847+
"type": "array",
848+
"items": {
849+
"$ref": "#/components/schemas/Signer"
850+
}
851+
},
852+
"requested_by": {
853+
"type": "object",
854+
"required": [
855+
"userId",
856+
"displayName"
857+
],
858+
"properties": {
859+
"userId": {
860+
"type": "string"
861+
},
862+
"displayName": {
863+
"type": "string"
864+
}
865+
}
866+
},
820867
"filesCount": {
821868
"type": "integer",
822869
"format": "int64",

openapi.json

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -709,6 +709,12 @@
709709
"statusText",
710710
"nodeType",
711711
"created_at",
712+
"file",
713+
"metadata",
714+
"signatureFlow",
715+
"visibleElements",
716+
"signers",
717+
"requested_by",
712718
"filesCount",
713719
"files"
714720
],
@@ -747,6 +753,47 @@
747753
"created_at": {
748754
"type": "string"
749755
},
756+
"file": {
757+
"type": "string"
758+
},
759+
"metadata": {
760+
"$ref": "#/components/schemas/ValidateMetadata"
761+
},
762+
"signatureFlow": {
763+
"type": "string",
764+
"enum": [
765+
"none",
766+
"parallel",
767+
"ordered_numeric"
768+
]
769+
},
770+
"visibleElements": {
771+
"type": "array",
772+
"items": {
773+
"$ref": "#/components/schemas/VisibleElement"
774+
}
775+
},
776+
"signers": {
777+
"type": "array",
778+
"items": {
779+
"$ref": "#/components/schemas/Signer"
780+
}
781+
},
782+
"requested_by": {
783+
"type": "object",
784+
"required": [
785+
"userId",
786+
"displayName"
787+
],
788+
"properties": {
789+
"userId": {
790+
"type": "string"
791+
},
792+
"displayName": {
793+
"type": "string"
794+
}
795+
}
796+
},
750797
"filesCount": {
751798
"type": "integer",
752799
"format": "int64",

src/types/openapi/openapi-full.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1696,6 +1696,16 @@ export type components = {
16961696
/** @enum {string} */
16971697
nodeType: "file" | "envelope";
16981698
created_at: string;
1699+
file: string;
1700+
metadata: components["schemas"]["ValidateMetadata"];
1701+
/** @enum {string} */
1702+
signatureFlow: "none" | "parallel" | "ordered_numeric";
1703+
visibleElements: components["schemas"]["VisibleElement"][];
1704+
signers: components["schemas"]["Signer"][];
1705+
requested_by: {
1706+
userId: string;
1707+
displayName: string;
1708+
};
16991709
/** Format: int64 */
17001710
filesCount: number;
17011711
files: {

src/types/openapi/openapi.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,6 +1240,16 @@ export type components = {
12401240
/** @enum {string} */
12411241
nodeType: "file" | "envelope";
12421242
created_at: string;
1243+
file: string;
1244+
metadata: components["schemas"]["ValidateMetadata"];
1245+
/** @enum {string} */
1246+
signatureFlow: "none" | "parallel" | "ordered_numeric";
1247+
visibleElements: components["schemas"]["VisibleElement"][];
1248+
signers: components["schemas"]["Signer"][];
1249+
requested_by: {
1250+
userId: string;
1251+
displayName: string;
1252+
};
12431253
/** Format: int64 */
12441254
filesCount: number;
12451255
files: {

tests/php/Unit/Service/File/EnvelopeAssemblerTest.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
use OCA\Libresign\Service\File\SignersLoader;
1919
use OCA\Libresign\Service\FileElementService;
2020
use OCA\Libresign\Service\IdentifyMethodService;
21+
use OCP\Files\File;
22+
use OCP\Files\Folder;
2123
use OCP\Files\IRootFolder;
2224
use PHPUnit\Framework\MockObject\MockObject;
2325
use Psr\Log\NullLogger;
@@ -56,7 +58,16 @@ private function getService(): EnvelopeAssembler {
5658
);
5759
}
5860

61+
private function mockFileNode(): void {
62+
$folder = $this->createMock(Folder::class);
63+
$fileNode = $this->createMock(File::class);
64+
$folder->method('getFirstNodeById')->willReturn($fileNode);
65+
$this->root->method('getUserFolder')->willReturn($folder);
66+
}
67+
5968
public function testBuildsChildDataWithoutCertificateChain(): void {
69+
$this->mockFileNode();
70+
6071
$signRequest = new DbSignRequest();
6172
$signRequest->setId(42);
6273
$signRequest->setSigned(null);
@@ -96,6 +107,8 @@ public function testBuildsChildDataWithoutCertificateChain(): void {
96107
}
97108

98109
public function testBuildsChildDataWithVisibleElements(): void {
110+
$this->mockFileNode();
111+
99112
$signRequest = new DbSignRequest();
100113
$signRequest->setId(100);
101114
$signRequest->setDisplayName('Signer A');
@@ -148,6 +161,8 @@ public function testBuildsChildDataWithVisibleElements(): void {
148161
}
149162

150163
public function testBuildsChildDataWithoutVisibleElementsWhenNotRequested(): void {
164+
$this->mockFileNode();
165+
151166
$signRequest = new DbSignRequest();
152167
$signRequest->setId(50);
153168
$signRequest->setDisplayName('Signer B');
@@ -182,6 +197,8 @@ public function testBuildsChildDataWithoutVisibleElementsWhenNotRequested(): voi
182197
}
183198

184199
public function testBuildsChildDataWithMultipleSigners(): void {
200+
$this->mockFileNode();
201+
185202
$signer1 = new DbSignRequest();
186203
$signer1->setId(1);
187204
$signer1->setDisplayName('Alice');

0 commit comments

Comments
 (0)