@@ -39,7 +39,58 @@ public function testMapToFormData(): void
3939 'value ' => $ expectedShortName = 'Nontranslateable short name ' ,
4040 ]),
4141 ];
42- $ content = new Content ([
42+
43+ $ newName = 'GER name ' ;
44+ $ newShortName = '' ;
45+ $ content = $ this ->getContent ($ newName , $ newShortName , 'ger-DE ' );
46+
47+ $ data = (new ContentUpdateMapper ())->mapToFormData ($ content , [
48+ 'languageCode ' => 'ger-DE ' ,
49+ 'contentType ' => $ this ->getContentType (),
50+ 'currentFields ' => $ currentFields ,
51+ ]);
52+
53+ $ fieldsData = $ data ->fieldsData ;
54+
55+ self ::assertSame ($ newName , $ fieldsData ['name ' ]->value );
56+ self ::assertSame ($ expectedShortName , $ fieldsData ['short_name ' ]->value );
57+ }
58+
59+ public function testMapToFormDataWithTheSameLanguage (): void
60+ {
61+ $ currentFields = [
62+ new APIField ([
63+ 'fieldDefIdentifier ' => 'name ' ,
64+ 'fieldTypeIdentifier ' => 'ezstring ' ,
65+ 'languageCode ' => 'eng-GB ' ,
66+ 'value ' => 'Name ' ,
67+ ]),
68+ new APIField ([
69+ 'fieldDefIdentifier ' => 'short_name ' ,
70+ 'fieldTypeIdentifier ' => 'ezstring ' ,
71+ 'languageCode ' => 'eng-GB ' ,
72+ 'value ' => 'Short name ' ,
73+ ]),
74+ ];
75+
76+ $ newName = 'New name ' ;
77+ $ newShortName = 'New short name ' ;
78+ $ content = $ this ->getContent ($ newName , $ newShortName , 'eng-GB ' );
79+
80+ $ data = (new ContentUpdateMapper ())->mapToFormData ($ content , [
81+ 'languageCode ' => 'eng-GB ' ,
82+ 'contentType ' => $ this ->getContentType (),
83+ 'currentFields ' => $ currentFields ,
84+ ]);
85+
86+ $ fieldsData = $ data ->fieldsData ;
87+
88+ self ::assertSame ($ newName , $ fieldsData ['name ' ]->value );
89+ self ::assertSame ($ newShortName , $ fieldsData ['short_name ' ]->value );
90+ }
91+
92+ private function getContent (string $ name , string $ shortName , string $ languageCode ): Content {
93+ return new Content ([
4394 'versionInfo ' => new VersionInfo ([
4495 'contentInfo ' => new ContentInfo ([
4596 'remoteId ' => 'foo ' ,
@@ -63,46 +114,40 @@ public function testMapToFormData(): void
63114 ]),
64115 ]),
65116 ]),
66- 'contentType ' => $ contentType = new ContentType ([
67- 'identifier ' => 'folder ' ,
68- 'fieldDefinitions ' => new FieldDefinitionCollection ([
69- new FieldDefinition ([
70- 'identifier ' => 'name ' ,
71- 'isTranslatable ' => true ,
72- 'defaultValue ' => '' ,
73- ]),
74- new FieldDefinition ([
75- 'identifier ' => 'short_name ' ,
76- 'isTranslatable ' => false ,
77- 'defaultValue ' => '' ,
78- ]),
79- ]),
80- ]),
117+ 'contentType ' => $ this ->getContentType (),
81118 'internalFields ' => [
82119 new APIField ([
83120 'fieldDefIdentifier ' => 'name ' ,
84121 'fieldTypeIdentifier ' => 'ezstring ' ,
85- 'languageCode ' => ' ger-DE ' ,
86- 'value ' => $ expectedName = ' GER name' ,
122+ 'languageCode ' => $ languageCode ,
123+ 'value ' => $ name ,
87124 ]),
88125 new APIField ([
89126 'fieldDefIdentifier ' => 'short_name ' ,
90127 'fieldTypeIdentifier ' => 'ezstring ' ,
91- 'languageCode ' => ' ger-DE ' ,
92- 'value ' => '' ,
128+ 'languageCode ' => $ languageCode ,
129+ 'value ' => $ shortName ,
93130 ]),
94131 ],
95132 ]);
133+ }
96134
97- $ data = (new ContentUpdateMapper ())->mapToFormData ($ content , [
98- 'languageCode ' => 'ger-DE ' ,
99- 'contentType ' => $ contentType ,
100- 'currentFields ' => $ currentFields ,
135+ private function getContentType (): ContentType
136+ {
137+ return new ContentType ([
138+ 'identifier ' => 'folder ' ,
139+ 'fieldDefinitions ' => new FieldDefinitionCollection ([
140+ new FieldDefinition ([
141+ 'identifier ' => 'name ' ,
142+ 'isTranslatable ' => true ,
143+ 'defaultValue ' => '' ,
144+ ]),
145+ new FieldDefinition ([
146+ 'identifier ' => 'short_name ' ,
147+ 'isTranslatable ' => false ,
148+ 'defaultValue ' => '' ,
149+ ]),
150+ ]),
101151 ]);
102-
103- $ fieldsData = $ data ->fieldsData ;
104-
105- self ::assertSame ($ expectedName , $ fieldsData ['name ' ]->value );
106- self ::assertSame ($ expectedShortName , $ fieldsData ['short_name ' ]->value );
107152 }
108153}
0 commit comments