public void CloneResultsInClonedDocument() { // Given MetadataDictionary initialMetadata = new MetadataDictionary(); initialMetadata.Add("Foo", "Bar"); DocumentFactory documentFactory = new DocumentFactory(initialMetadata); CustomDocumentFactory <TestDocument> customDocumentFactory = new CustomDocumentFactory <TestDocument>(documentFactory); TestExecutionContext context = new TestExecutionContext(); CustomDocument sourceDocument = (CustomDocument)customDocumentFactory.GetDocument(context); // When IDocument resultDocument = customDocumentFactory.GetDocument( context, sourceDocument, new Dictionary <string, object> { { "Baz", "Bat" } }); // Then CollectionAssert.AreEquivalent( new Dictionary <string, object> { { "Foo", "Bar" } }, sourceDocument); CollectionAssert.AreEquivalent( new Dictionary <string, object> { { "Foo", "Bar" }, { "Baz", "Bat" } }, resultDocument); }
async void RunMBaaSAsync(object sender, EventArgs e) { try { userInfo = await Auth.SignInAsync(); if (userInfo.AccountId != null) { Application.Current.Properties[AccountId] = userInfo.AccountId; SignInInformationButton.Text = "User authenticated"; } AppCenterLog.Info(App.LogTag, "Auth.SignInAsync succeeded accountId=" + userInfo.AccountId); } catch (Exception ex) { AppCenterLog.Error(App.LogTag, "Auth scenario failed", ex); Crashes.TrackError(ex); } try { var list = await Data.ListAsync <CustomDocument>(DefaultPartitions.UserDocuments); foreach (var doc in list) { AppCenterLog.Info(App.LogTag, "List result=" + doc.DeserializedValue.id); } var document = list.CurrentPage.Items.First(); AppCenterLog.Info(App.LogTag, "List first result=" + document.DeserializedValue.id); document = await Data.DeleteAsync <CustomDocument>(document.Id, DefaultPartitions.UserDocuments); AppCenterLog.Info(App.LogTag, "Delete result=" + document.DeserializedValue); } catch (Exception ex) { AppCenterLog.Error(App.LogTag, "Data list/delete first scenario failed", ex); Crashes.TrackError(ex); } try { var customDoc = new CustomDocument { id = Guid.NewGuid(), timestamp = DateTime.UtcNow }; var id = customDoc.id.ToString(); var document = await Data.ReplaceAsync(id, customDoc, DefaultPartitions.UserDocuments); AppCenterLog.Info(App.LogTag, "Replace result=" + document.DeserializedValue.id); document = await Data.ReadAsync <CustomDocument>(id, DefaultPartitions.UserDocuments); AppCenterLog.Info(App.LogTag, "Read result=" + document.DeserializedValue.id); } catch (Exception ex) { AppCenterLog.Error(App.LogTag, "Data person scenario failed", ex); Crashes.TrackError(ex); } }
public void DocumentTypeTheSameAfterClone() { // Given IDocument document = new CustomDocument(); // When IDocument cloned = document.Clone(null); // Then cloned.ShouldBeOfType <CustomDocument>(); }
public SalesOrderUsrTaxSnapshot(string base64ZippedTaxTransfer) { Document = new CustomDocument() { UsrTaxSnapshot = new CustomField { type = "CustomStringField", value = base64ZippedTaxTransfer, } }; }
async void RunMBaaSAsync(object sender, EventArgs e) { try { var userInfo = await Auth.SignInAsync(); AppCenterLog.Info(App.LogTag, "Auth.SignInAsync succeeded accountId=" + userInfo.AccountId); } catch (Exception ex) { AppCenterLog.Error(App.LogTag, "Auth scenario failed", ex); Crashes.TrackError(ex); } try { var list = await Data.ListAsync <CustomDocument>(DefaultPartitions.UserDocuments); foreach (var doc in list) { AppCenterLog.Info(App.LogTag, "List result=" + JsonConvert.SerializeObject(doc)); } var document = list.CurrentPage.Items.First(); AppCenterLog.Info(App.LogTag, "List first result=" + JsonConvert.SerializeObject(document)); document = await Data.DeleteAsync <CustomDocument>(document.Id, DefaultPartitions.UserDocuments); AppCenterLog.Info(App.LogTag, "Delete result=" + JsonConvert.SerializeObject(document)); } catch (Exception ex) { AppCenterLog.Error(App.LogTag, "Data list/delete first scenario failed", ex); Crashes.TrackError(ex); } try { var customDoc = new CustomDocument { Id = Guid.NewGuid(), TimeStamp = DateTime.UtcNow }; var id = customDoc.Id.ToString(); var document = await Data.ReplaceAsync(id, customDoc, DefaultPartitions.UserDocuments); AppCenterLog.Info(App.LogTag, "Replace result=" + JsonConvert.SerializeObject(document)); document = await Data.ReadAsync <CustomDocument>(id, DefaultPartitions.UserDocuments); AppCenterLog.Info(App.LogTag, "Read result=" + JsonConvert.SerializeObject(document)); } catch (Exception ex) { AppCenterLog.Error(App.LogTag, "Data person scenario failed", ex); Crashes.TrackError(ex); } }
public void MembersAreCloned() { // Given IDocument document = new CustomDocument { Foo = "abc" }; // When IDocument cloned = document.Clone(null); // Then ((CustomDocument)cloned).Foo.ShouldBe("abc"); }
public void MetadataOverridesProperties() { // Given IDocument document = new CustomDocument(new MetadataItems { { "Foo", "xyz" } }) { Foo = "abc" }; // When string value = document.GetString("Foo"); // Then value.ShouldBe("xyz"); }
public void GetsCorrectCount() { // Given MetadataItems initialMetadata = new MetadataItems { { "A", "a" }, { "B", "b" }, { "C", "c" } }; CustomDocument document = new CustomDocument(initialMetadata); // When int count = document.Count; // Then count.ShouldBe(7); }
public void GetsPropertyMetadata() { // Given IDocument document = new CustomDocument { Foo = "abc" }; IDocument cloned = document.Clone(new MetadataItems { { "Foo", "xyz" } }); // When string initialValue = document.GetString("Foo"); string clonedValue = cloned.GetString("Foo"); // Then initialValue.ShouldBe("abc"); clonedValue.ShouldBe("xyz"); }
async void RunMBaaSAsync(object sender, EventArgs e) { try { userInfo = await Auth.SignInAsync(); if (userInfo.AccountId != null) { SignInInformationButton.Text = "User authenticated"; } AppCenterLog.Info(App.LogTag, "Auth.SignInAsync succeeded accountId=" + userInfo.AccountId); } catch (Exception ex) { AppCenterLog.Error(App.LogTag, "Auth scenario failed", ex); Crashes.TrackError(ex); } try { var list = await Data.ListAsync <CustomDocument>(DefaultPartitions.UserDocuments); foreach (var doc in list) { AppCenterLog.Info(App.LogTag, "List result=" + JsonConvert.SerializeObject(doc)); } var document = list.CurrentPage.Items.First(); AppCenterLog.Info(App.LogTag, "List first result=" + JsonConvert.SerializeObject(document)); document = await Data.DeleteAsync <CustomDocument>(document.Id, DefaultPartitions.UserDocuments); AppCenterLog.Info(App.LogTag, "Delete result=" + JsonConvert.SerializeObject(document)); } catch (Exception ex) { AppCenterLog.Error(App.LogTag, "Data list/delete first scenario failed", ex); Crashes.TrackError(ex); } try { var objectCollection = new List <Uri>(); objectCollection.Add(new Uri("http://google.com/")); objectCollection.Add(new Uri("http://microsoft.com/")); objectCollection.Add(new Uri("http://facebook.com/")); var primitiveCollection = new List <int>(); primitiveCollection.Add(1); primitiveCollection.Add(2); primitiveCollection.Add(3); var dict = new Dictionary <string, Uri>(); dict.Add("key1", new Uri("http://google.com/")); dict.Add("key2", new Uri("http://microsoft.com/")); dict.Add("key3", new Uri("http://facebook.com/")); var customDoc = new CustomDocument { Id = Guid.NewGuid(), TimeStamp = DateTime.UtcNow, SomeNumber = 123, SomeObject = dict, SomePrimitiveArray = new int[] { 1, 2, 3 }, SomeObjectArray = new CustomDocument[] { new CustomDocument { Id = Guid.NewGuid(), TimeStamp = DateTime.UtcNow, SomeNumber = 123, SomeObject = dict, SomePrimitiveArray = new int[] { 1, 2, 3 }, SomeObjectCollection = objectCollection, SomePrimitiveCollection = primitiveCollection } }, SomeObjectCollection = objectCollection, SomePrimitiveCollection = primitiveCollection, Custom = new CustomDocument { Id = Guid.NewGuid(), TimeStamp = DateTime.UtcNow, SomeNumber = 123, SomeObject = dict, SomePrimitiveArray = new int[] { 1, 2, 3 }, SomeObjectCollection = objectCollection, SomePrimitiveCollection = primitiveCollection } }; var id = customDoc.Id.ToString(); var document = await Data.ReplaceAsync(id, customDoc, DefaultPartitions.UserDocuments); AppCenterLog.Info(App.LogTag, "Replace result=" + JsonConvert.SerializeObject(document)); document = await Data.ReadAsync <CustomDocument>(id, DefaultPartitions.UserDocuments); AppCenterLog.Info(App.LogTag, "Read result=" + JsonConvert.SerializeObject(document)); } catch (Exception ex) { AppCenterLog.Error(App.LogTag, "Data person scenario failed", ex); Crashes.TrackError(ex); } }
public void Add_Uploads_CustomDocument_Test() { IQueryList <CustomDocument> list = null; try { var lookupItem = new Item { Title = "Add_Adds_CustomItem_Test_Lookup" }; _listForLookup.Add(lookupItem); var lookupItem2 = new Item { Title = "Add_Adds_CustomItem_Test_Lookup_2" }; _listForLookup.Add(lookupItem2); list = _queryWeb.Create <CustomDocument>("Add_Uploads_CustomDocument_Test"); var customDoc = new CustomDocument { Title = "Add_Uploads_CustomDocument_Test", Name = "Add_Uploads_CustomDocument_Test", Content = new byte[] { 5, 10, 15, 25 }, CustomField1 = "Add_Uploads_CustomDocument_Test1", CustomField2 = "Add_Uploads_CustomDocument_Test2", CustomFieldNumber = 123.5, CustomBoolean = true, CustomLookup = lookupItem, CustomMultiLookup = new List <Item> { lookupItem, lookupItem2 }, CustomDate = new DateTime(2011, 1, 11, 18, 15, 00), CustomUser = new Person(_firstUser.LoginName), CustomUsers = new List <User> { new Person(_firstUser.LoginName), new User(_spGroup.Name) } }; list.Add(customDoc); var item = list.Items(new CamlQuery() .Query(Q.Where(Q.Eq(Q.FieldRef <Document>(d => d.Name), Q.Value("Add_Uploads_CustomDocument_Test"))))) .FirstOrDefault(); Assert.IsNotNull(item); Assert.That(item.Id, Is.EqualTo(customDoc.Id)); Assert.That(item.Name, Is.EqualTo(customDoc.Name)); Assert.That(item.Content, Is.Not.Null); Assert.That(item.Content.Length, Is.EqualTo(customDoc.Content.Length)); Assert.That(item.Size, Is.EqualTo(4)); Assert.That(item.Icon, Is.EqualTo("/_layouts/images/icgen.gif")); Assert.That(item.Folder, Is.EqualTo(customDoc.Folder)); Assert.That(item.Title, Is.EqualTo(customDoc.Title)); Assert.That(item.CustomField1, Is.EqualTo(customDoc.CustomField1)); Assert.That(item.CustomField2, Is.EqualTo(customDoc.CustomField2)); Assert.That(item.CustomFieldNumber, Is.EqualTo(customDoc.CustomFieldNumber)); Assert.That(item.CustomBoolean, Is.EqualTo(customDoc.CustomBoolean)); Assert.That(item.CustomDate, Is.EqualTo(new DateTime(2011, 1, 11, 18, 15, 00)).Within(1).Seconds); Assert.That(item.CustomLookup, Is.Not.Null); Assert.That(item.CustomLookup.Id, Is.EqualTo(lookupItem.Id)); Assert.That(item.CustomMultiLookup, Is.Not.Null); Assert.That(item.CustomMultiLookup.Count(), Is.EqualTo(2)); Assert.That(item.CustomMultiLookup.First().Title, Is.EqualTo(lookupItem.Title)); Assert.That(item.CustomUser.GetType().ToString(), Is.EqualTo("Castle.Proxies.PersonProxy")); Assert.That(item.CustomUsers.Count(), Is.EqualTo(2)); var users = item.CustomUsers.ToList(); Assert.That(users[0].GetType().ToString(), Is.EqualTo("Castle.Proxies.PersonProxy")); Assert.That(users[1].GetType().ToString(), Is.EqualTo("Castle.Proxies.UserProxy")); } finally { if (list != null) { list.DeleteList(false); } } }
public void Add_Uploads_CustomDocument_Test() { IQueryList <CustomDocument> list = null; try { var lookupItem = new Item { Title = "Add_Adds_CustomItem_Test_Lookup" }; _listForLookup.Add(lookupItem); var lookupItem2 = new Item { Title = "Add_Adds_CustomItem_Test_Lookup_2" }; _listForLookup.Add(lookupItem2); list = _queryWeb.Create <CustomDocument>("Add_Uploads_CustomDocument_Test"); var customDoc = new CustomDocument { Title = "Add_Uploads_CustomDocument_Test", Name = "Add_Uploads_CustomDocument_Test", Content = new byte[] { 5, 10, 15, 25 }, CustomField1 = "Add_Uploads_CustomDocument_Test1", CustomField2 = "Add_Uploads_CustomDocument_Test2", CustomFieldNumber = 123.5, CustomBoolean = true, CustomLookup = lookupItem, CustomMultiLookup = new List <Item> { lookupItem, lookupItem2 }, CustomDate = DateTime.Now, }; list.Add(customDoc); var item = list.Items(new CamlQuery() .Query(Q.Where(Q.Eq(Q.FieldRef <Document>(d => d.Name), Q.Value("Add_Uploads_CustomDocument_Test"))))) .FirstOrDefault(); Assert.IsNotNull(item); Assert.That(item.Id, Is.EqualTo(customDoc.Id)); Assert.That(item.Name, Is.EqualTo(customDoc.Name)); Assert.That(item.Content, Is.Not.Null); Assert.That(item.Content.Length, Is.EqualTo(customDoc.Content.Length)); Assert.That(item.Size, Is.EqualTo(4)); Assert.That(item.Icon, Is.EqualTo("/_layouts/images/icgen.gif")); Assert.That(item.Folder, Is.EqualTo(customDoc.Folder)); Assert.That(item.Title, Is.EqualTo(customDoc.Title)); Assert.That(item.CustomField1, Is.EqualTo(customDoc.CustomField1)); Assert.That(item.CustomField2, Is.EqualTo(customDoc.CustomField2)); Assert.That(item.CustomFieldNumber, Is.EqualTo(customDoc.CustomFieldNumber)); Assert.That(item.CustomBoolean, Is.EqualTo(customDoc.CustomBoolean)); Assert.That(item.CustomLookup, Is.Not.Null); Assert.That(item.CustomLookup.Id, Is.EqualTo(lookupItem.Id)); Assert.That(item.CustomMultiLookup, Is.Not.Null); Assert.That(item.CustomMultiLookup.Count(), Is.EqualTo(2)); Assert.That(item.CustomMultiLookup.First().Title, Is.EqualTo(lookupItem.Title)); } finally { if (list != null) { list.DeleteList(false); } } }