@@ -1336,6 +1336,129 @@ describe('Fields', () => {
1336
1336
expect ( res . camelCaseGroup . array [ 0 ] . text ) . toBe ( 'text' )
1337
1337
expect ( res . camelCaseGroup . array [ 0 ] . array [ 0 ] . text ) . toBe ( 'nested' )
1338
1338
} )
1339
+
1340
+ it ( 'should insert/update/read localized group with array inside' , async ( ) => {
1341
+ const doc = await payload . create ( {
1342
+ collection : 'group-fields' ,
1343
+ locale : 'en' ,
1344
+ data : {
1345
+ group : { text : 'req' } ,
1346
+ localizedGroupArr : {
1347
+ array : [ { text : 'text-en' } ] ,
1348
+ } ,
1349
+ } ,
1350
+ } )
1351
+
1352
+ expect ( doc . localizedGroupArr . array [ 0 ] . text ) . toBe ( 'text-en' )
1353
+
1354
+ const esDoc = await payload . update ( {
1355
+ collection : 'group-fields' ,
1356
+ locale : 'es' ,
1357
+ id : doc . id ,
1358
+ data : {
1359
+ localizedGroupArr : {
1360
+ array : [ { text : 'text-es' } ] ,
1361
+ } ,
1362
+ } ,
1363
+ } )
1364
+
1365
+ expect ( esDoc . localizedGroupArr . array [ 0 ] . text ) . toBe ( 'text-es' )
1366
+
1367
+ const allDoc = await payload . findByID ( {
1368
+ collection : 'group-fields' ,
1369
+ id : doc . id ,
1370
+ locale : 'all' ,
1371
+ } )
1372
+
1373
+ expect ( allDoc . localizedGroupArr . en . array [ 0 ] . text ) . toBe ( 'text-en' )
1374
+ expect ( allDoc . localizedGroupArr . es . array [ 0 ] . text ) . toBe ( 'text-es' )
1375
+ } )
1376
+
1377
+ it ( 'should insert/update/read localized group with select hasMany inside' , async ( ) => {
1378
+ const doc = await payload . create ( {
1379
+ collection : 'group-fields' ,
1380
+ locale : 'en' ,
1381
+ data : {
1382
+ group : { text : 'req' } ,
1383
+ localizedGroupSelect : {
1384
+ select : [ 'one' , 'two' ] ,
1385
+ } ,
1386
+ } ,
1387
+ } )
1388
+
1389
+ expect ( doc . localizedGroupSelect . select ) . toStrictEqual ( [ 'one' , 'two' ] )
1390
+
1391
+ const esDoc = await payload . update ( {
1392
+ collection : 'group-fields' ,
1393
+ locale : 'es' ,
1394
+ id : doc . id ,
1395
+ data : {
1396
+ localizedGroupSelect : {
1397
+ select : [ 'one' ] ,
1398
+ } ,
1399
+ } ,
1400
+ } )
1401
+
1402
+ expect ( esDoc . localizedGroupSelect . select ) . toStrictEqual ( [ 'one' ] )
1403
+
1404
+ const allDoc = await payload . findByID ( {
1405
+ collection : 'group-fields' ,
1406
+ id : doc . id ,
1407
+ locale : 'all' ,
1408
+ } )
1409
+
1410
+ expect ( allDoc . localizedGroupSelect . en . select ) . toStrictEqual ( [ 'one' , 'two' ] )
1411
+ expect ( allDoc . localizedGroupSelect . es . select ) . toStrictEqual ( [ 'one' ] )
1412
+ } )
1413
+
1414
+ it ( 'should insert/update/read localized group with relationship inside' , async ( ) => {
1415
+ const rel_1 = await payload . create ( {
1416
+ collection : 'email-fields' ,
1417
+ data : { email : 'pro123@gmail.com' } ,
1418
+ } )
1419
+
1420
+ const rel_2 = await payload . create ( {
1421
+ collection : 'email-fields' ,
1422
+ data : { email : 'frank@gmail.com' } ,
1423
+ } )
1424
+
1425
+ const doc = await payload . create ( {
1426
+ collection : 'group-fields' ,
1427
+ depth : 0 ,
1428
+ data : {
1429
+ group : { text : 'requireddd' } ,
1430
+ localizedGroupRel : {
1431
+ email : rel_1 . id ,
1432
+ } ,
1433
+ } ,
1434
+ } )
1435
+
1436
+ expect ( doc . localizedGroupRel . email ) . toBe ( rel_1 . id )
1437
+
1438
+ const upd = await payload . update ( {
1439
+ collection : 'group-fields' ,
1440
+ depth : 0 ,
1441
+ id : doc . id ,
1442
+ locale : 'es' ,
1443
+ data : {
1444
+ localizedGroupRel : {
1445
+ email : rel_2 . id ,
1446
+ } ,
1447
+ } ,
1448
+ } )
1449
+
1450
+ expect ( upd . localizedGroupRel . email ) . toBe ( rel_2 . id )
1451
+
1452
+ const docAll = await payload . findByID ( {
1453
+ collection : 'group-fields' ,
1454
+ id : doc . id ,
1455
+ locale : 'all' ,
1456
+ depth : 0 ,
1457
+ } )
1458
+
1459
+ expect ( docAll . localizedGroupRel . en . email ) . toBe ( rel_1 . id )
1460
+ expect ( docAll . localizedGroupRel . es . email ) . toBe ( rel_2 . id )
1461
+ } )
1339
1462
} )
1340
1463
1341
1464
describe ( 'tabs' , ( ) => {
0 commit comments