66import com .crowdin .client .core .model .ResponseObject ;
77import com .crowdin .client .framework .RequestMock ;
88import com .crowdin .client .framework .TestClient ;
9- import com .crowdin .client .sourcestrings .model .AddSourceStringRequest ;
10- import com .crowdin .client .sourcestrings .model .AddSourceStringStringsBasedRequest ;
11- import com .crowdin .client .sourcestrings .model .SourceString ;
12- import com .crowdin .client .sourcestrings .model .SourceStringForm ;
13- import com .crowdin .client .sourcestrings .model .UploadStringsProgress ;
14- import com .crowdin .client .sourcestrings .model .UploadStringsRequest ;
9+ import com .crowdin .client .sourcestrings .model .*;
1510import org .apache .http .client .methods .HttpDelete ;
1611import org .apache .http .client .methods .HttpGet ;
1712import org .apache .http .client .methods .HttpPatch ;
1813import org .apache .http .client .methods .HttpPost ;
1914import org .junit .jupiter .api .Test ;
2015
21- import java .util .ArrayList ;
22- import java .util .Arrays ;
23- import java .util .List ;
16+ import java .util .*;
2417
2518import static java .util .Collections .singletonList ;
2619import static org .junit .jupiter .api .Assertions .assertEquals ;
@@ -46,7 +39,9 @@ public List<RequestMock> getMocks() {
4639 RequestMock .build (this .url + "/projects/" + projectId + "/strings" , HttpGet .METHOD_NAME , "api/strings/listStrings.json" ),
4740 RequestMock .build (this .url + "/projects/" + projectId + "/strings" , HttpGet .METHOD_NAME , "api/strings/listStrings.json" ),
4841 RequestMock .build (this .url + "/projects/" + projectId + "/strings" , HttpPost .METHOD_NAME , "api/strings/addStringRequest.json" , "api/strings/string.json" ),
42+ RequestMock .build (this .url + "/projects/" + projectId + "/strings" , HttpPost .METHOD_NAME , "api/strings/addPluralStringRequest.json" , "api/strings/pluralString.json" ),
4943 RequestMock .build (this .url + "/projects/" + projectId + "/strings" , HttpPost .METHOD_NAME , "api/strings/addStringStringsBasedRequest.json" , "api/strings/string.json" ),
44+ RequestMock .build (this .url + "/projects/" + projectId + "/strings" , HttpPost .METHOD_NAME , "api/strings/addStringPluralStringsBasedRequest.json" , "api/strings/pluralString.json" ),
5045 RequestMock .build (this .url + "/projects/" + projectId + "/strings/" + id , HttpGet .METHOD_NAME , "api/strings/string.json" ),
5146 RequestMock .build (this .url + "/projects/" + projectId + "/strings/" + id , HttpDelete .METHOD_NAME ),
5247 RequestMock .build (this .url + "/projects/" + projectId + "/strings/" + id , HttpPatch .METHOD_NAME , "api/strings/editString.json" , "api/strings/string.json" ),
@@ -101,6 +96,28 @@ public void addStringTest() {
10196 assertEquals (sourceStringResponseObject .getData ().getText (), text );
10297 }
10398
99+ @ Test
100+ public void addPluralStringTest () {
101+ AddSourcePluralStringRequest request = new AddSourcePluralStringRequest ();
102+ PluralText text = new PluralText ();
103+ text .setOne ("string" );
104+ text .setOther ("strings" );
105+ request .setText (text );
106+ request .setIdentifier ("6a1821e6499ebae94de4b880fd93b985" );
107+ request .setFileId (id );
108+ request .setContext ("shown on main page" );
109+ request .setIsHidden (false );
110+ request .setMaxLength (35 );
111+ request .setLabelIds (Arrays .asList (1L ));
112+ ResponseObject <SourceString > sourceStringResponseObject = this .getSourceStringsApi ().addSourcePluralString (projectId , request );
113+ Map <String , String > expected = new HashMap <String , String >() {{
114+ put ("one" , "string" );
115+ put ("other" , "strings" );
116+ }};
117+ assertEquals (sourceStringResponseObject .getData ().getId (), id );
118+ assertEquals (sourceStringResponseObject .getData ().getText (), expected );
119+ }
120+
104121 @ Test
105122 public void addStringStringsBasedTest () {
106123 AddSourceStringStringsBasedRequest request = new AddSourceStringStringsBasedRequest ();
@@ -116,6 +133,28 @@ public void addStringStringsBasedTest() {
116133 assertEquals (sourceStringResponseObject .getData ().getText (), text );
117134 }
118135
136+ @ Test
137+ public void addPluralStringStringsBasedTest () {
138+ AddSourcePluralStringStringsBasedRequest request = new AddSourcePluralStringStringsBasedRequest ();
139+ PluralText text = new PluralText ();
140+ text .setOne ("string" );
141+ text .setOther ("strings" );
142+ request .setText (text );
143+ request .setIdentifier ("6a1821e6499ebae94de4b880fd93b985" );
144+ request .setBranchId (branchId );
145+ request .setContext ("shown on main page" );
146+ request .setIsHidden (false );
147+ request .setMaxLength (35 );
148+ request .setLabelIds (Arrays .asList (1L ));
149+ ResponseObject <SourceString > sourceStringResponseObject = this .getSourceStringsApi ().addSourcePluralStringStringsBased (projectId , request );
150+ Map <String , String > expected = new HashMap <String , String >() {{
151+ put ("one" , "string" );
152+ put ("other" , "strings" );
153+ }};
154+ assertEquals (sourceStringResponseObject .getData ().getId (), id );
155+ assertEquals (sourceStringResponseObject .getData ().getText (), expected );
156+ }
157+
119158 @ Test
120159 public void getStringTest () {
121160 ResponseObject <SourceString > sourceStringResponseObject = this .getSourceStringsApi ().getSourceString (projectId , id );
0 commit comments