@@ -39,7 +39,59 @@ public function testMapToFormData(): void
39
39
'value ' => $ expectedShortName = 'Nontranslateable short name ' ,
40
40
]),
41
41
];
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
+ {
94
+ return new Content ([
43
95
'versionInfo ' => new VersionInfo ([
44
96
'contentInfo ' => new ContentInfo ([
45
97
'remoteId ' => 'foo ' ,
@@ -63,46 +115,40 @@ public function testMapToFormData(): void
63
115
]),
64
116
]),
65
117
]),
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
- ]),
118
+ 'contentType ' => $ this ->getContentType (),
81
119
'internalFields ' => [
82
120
new APIField ([
83
121
'fieldDefIdentifier ' => 'name ' ,
84
122
'fieldTypeIdentifier ' => 'ezstring ' ,
85
- 'languageCode ' => ' ger-DE ' ,
86
- 'value ' => $ expectedName = ' GER name' ,
123
+ 'languageCode ' => $ languageCode ,
124
+ 'value ' => $ name ,
87
125
]),
88
126
new APIField ([
89
127
'fieldDefIdentifier ' => 'short_name ' ,
90
128
'fieldTypeIdentifier ' => 'ezstring ' ,
91
- 'languageCode ' => ' ger-DE ' ,
92
- 'value ' => '' ,
129
+ 'languageCode ' => $ languageCode ,
130
+ 'value ' => $ shortName ,
93
131
]),
94
132
],
95
133
]);
134
+ }
96
135
97
- $ data = (new ContentUpdateMapper ())->mapToFormData ($ content , [
98
- 'languageCode ' => 'ger-DE ' ,
99
- 'contentType ' => $ contentType ,
100
- 'currentFields ' => $ currentFields ,
136
+ private function getContentType (): ContentType
137
+ {
138
+ return new ContentType ([
139
+ 'identifier ' => 'folder ' ,
140
+ 'fieldDefinitions ' => new FieldDefinitionCollection ([
141
+ new FieldDefinition ([
142
+ 'identifier ' => 'name ' ,
143
+ 'isTranslatable ' => true ,
144
+ 'defaultValue ' => '' ,
145
+ ]),
146
+ new FieldDefinition ([
147
+ 'identifier ' => 'short_name ' ,
148
+ 'isTranslatable ' => false ,
149
+ 'defaultValue ' => '' ,
150
+ ]),
151
+ ]),
101
152
]);
102
-
103
- $ fieldsData = $ data ->fieldsData ;
104
-
105
- self ::assertSame ($ expectedName , $ fieldsData ['name ' ]->value );
106
- self ::assertSame ($ expectedShortName , $ fieldsData ['short_name ' ]->value );
107
153
}
108
154
}
0 commit comments