예제 #1
0
        public async Task Lookup_has_correct_list_id()
        {
            var targetList = await EnsureTargetList();

            var lookupField = new HarshModifyFieldLookup()
            {
                LookupTarget = Resolve
                               .List().ByUrl(TargetListUrl)
                               .Field().ById(HarshBuiltInFieldId.Title)
                               .As <Tuple <List, Field> >()
            };

            var fieldId = Guid.NewGuid();
            var field   = new HarshField()
            {
                Id           = fieldId,
                InternalName = fieldId.ToString("n"),
                Type         = FieldType.Lookup,

                Children =
                {
                    lookupField
                }
            };

            await field.ProvisionAsync(Context);

            var fo = LastObjectOutput <Field>();

            Assert.True(fo.ObjectAdded);

            ClientContext.Load(
                ClientContext.CastTo <FieldLookup>(fo.Object),
                f => f.FieldTypeKind,
                f => f.LookupField,
                f => f.LookupList,
                f => f.LookupWebId
                );

            ClientContext.Load(Web, w => w.Id);
            ClientContext.Load(targetList, l => l.Id);

            await ClientContext.ExecuteQueryAsync();

            var provisioned = fo.Object as FieldLookup;

            Assert.NotNull(provisioned);
            Assert.Equal(FieldType.Lookup, provisioned.FieldTypeKind);
            Assert.Equal(targetList.Id, Guid.Parse(provisioned.LookupList));
            Assert.Equal("Title", provisioned.LookupField);
            Assert.Equal(Web.Id, provisioned.LookupWebId);
        }
예제 #2
0
        public async Task Lookup_has_correct_list_id()
        {
            var targetList = await EnsureTargetList();

            var lookupField = new HarshModifyFieldLookup()
            {
                LookupTarget = Resolve
                    .List().ByUrl(TargetListUrl)
                    .Field().ById(HarshBuiltInFieldId.Title)
                    .As<Tuple<List, Field>>()
            };

            var fieldId = Guid.NewGuid();
            var field = new HarshField()
            {
                Id = fieldId,
                InternalName = fieldId.ToString("n"),
                Type = FieldType.Lookup,

                Children =
                {
                    lookupField
                }
            };

            await field.ProvisionAsync(Context);

            var fo = LastObjectOutput<Field>();
            Assert.True(fo.ObjectAdded);

            ClientContext.Load(
                ClientContext.CastTo<FieldLookup>(fo.Object),
                f => f.FieldTypeKind,
                f => f.LookupField,
                f => f.LookupList,
                f => f.LookupWebId
            );

            ClientContext.Load(Web, w => w.Id);
            ClientContext.Load(targetList, l => l.Id);

            await ClientContext.ExecuteQueryAsync();

            var provisioned = fo.Object as FieldLookup;

            Assert.NotNull(provisioned);
            Assert.Equal(FieldType.Lookup, provisioned.FieldTypeKind);
            Assert.Equal(targetList.Id, Guid.Parse(provisioned.LookupList));
            Assert.Equal("Title", provisioned.LookupField);
            Assert.Equal(Web.Id, provisioned.LookupWebId);
        }