Skip to content

Commit 176a84f

Browse files
Copilotnixel2007
andcommitted
Add checkUnique property to Catalog class with test
Co-authored-by: nixel2007 <[email protected]>
1 parent 67f698d commit 176a84f

File tree

4 files changed

+33
-0
lines changed

4 files changed

+33
-0
lines changed

src/main/java/com/github/_1c_syntax/bsl/mdo/Catalog.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,11 @@ public class Catalog implements ReferenceObject, AccessRightsOwner {
108108
@Default
109109
MultiLanguageString explanation = MultiLanguageString.EMPTY;
110110

111+
/**
112+
* Проверка уникальности кода
113+
*/
114+
boolean checkUnique;
115+
111116
/**
112117
* Список владельцев
113118
*/

src/test/java/com/github/_1c_syntax/bsl/mdo/CatalogTest.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@
2121
*/
2222
package com.github._1c_syntax.bsl.mdo;
2323

24+
import com.github._1c_syntax.bsl.mdclasses.MDCReadSettings;
2425
import com.github._1c_syntax.bsl.mdo.children.ObjectAttribute;
2526
import com.github._1c_syntax.bsl.mdo.children.ObjectCommand;
2627
import com.github._1c_syntax.bsl.mdo.children.ObjectForm;
2728
import com.github._1c_syntax.bsl.mdo.children.StandardAttribute;
2829
import com.github._1c_syntax.bsl.mdo.support.AttributeKind;
30+
import com.github._1c_syntax.bsl.reader.MDOReader;
2931
import com.github._1c_syntax.bsl.test_utils.MDTestUtils;
3032
import com.github._1c_syntax.bsl.types.MdoReference;
3133
import com.github._1c_syntax.bsl.types.ValueTypes;
@@ -34,6 +36,7 @@
3436
import org.junit.jupiter.params.aggregator.ArgumentsAccessor;
3537
import org.junit.jupiter.params.provider.CsvSource;
3638

39+
import java.nio.file.Path;
3740
import java.util.Objects;
3841

3942
import static org.assertj.core.api.Assertions.assertThat;
@@ -167,6 +170,29 @@ void testSSLFixture(ArgumentsAccessor argumentsAccessor) {
167170
.isInstanceOf(Catalog.class);
168171
}
169172

173+
@ParameterizedTest
174+
@CsvSource({
175+
"true, mdclasses_ext, Catalogs.Справочник2",
176+
"false, mdclasses_ext, Catalogs.Справочник2"
177+
})
178+
void testCheckUnique(ArgumentsAccessor argumentsAccessor) {
179+
var isEDT = argumentsAccessor.getBoolean(0);
180+
var examplePackName = argumentsAccessor.getString(1);
181+
var mdoRef = argumentsAccessor.getString(2);
182+
183+
Path configurationPath;
184+
if (isEDT) {
185+
configurationPath = Path.of("src/test/resources/ext/edt", examplePackName, "configuration");
186+
} else {
187+
configurationPath = Path.of("src/test/resources/ext/designer", examplePackName, "src/cf");
188+
}
189+
190+
var mdo = MDOReader.read(configurationPath, mdoRef, MDCReadSettings.DEFAULT);
191+
assertThat(mdo).isInstanceOf(Catalog.class);
192+
var catalog = (Catalog) mdo;
193+
assertThat(catalog.isCheckUnique()).isTrue();
194+
}
195+
170196
// private void checkExtInfo(FormDataOLD formData) {
171197
// var extInfo = (DynamicListExtInfo) formData.getAttributes().get(1).getExtInfo();
172198
// assertThat(extInfo)

src/test/resources/fixtures/mdclasses/Catalogs.Справочник1.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,7 @@
655655
"explanation": {
656656
"@reference": "/com.github._1c_syntax.bsl.mdo.Catalog/attributes/c/com.github._1c_syntax.bsl.mdo.children.ObjectAttribute/synonym"
657657
},
658+
"checkUnique": true,
658659
"forms": [
659660
[
660661
{

src/test/resources/fixtures/mdclasses/Catalogs.Справочник1_edt.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,7 @@
655655
"explanation": {
656656
"@reference": "/com.github._1c_syntax.bsl.mdo.Catalog/attributes/c/com.github._1c_syntax.bsl.mdo.children.ObjectAttribute/synonym"
657657
},
658+
"checkUnique": true,
658659
"forms": [
659660
[
660661
{

0 commit comments

Comments
 (0)