using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using Tango.DAL.Entities; using Tango.DAL.Mongo; using System.Linq; namespace Tango.UnitTests.DAL { [TestClass] public class MongoRepository_TST { [TestMethod] public void Simple_Operations() { MongoRepository repo = new MongoRepository(new MongoDataBaseSettings() { Address = "mongodb://localhost:27017", DatabaseName = "TEST" }); repo.DeleteAsync(x => true).GetAwaiter().GetResult(); OrganizationEntity org1 = new OrganizationEntity(); org1.Name = "Org 1"; org1.Address.AddressString = "Yohana 7 a"; org1.Address.City = "Gan Yavne"; org1.Address.State = "Israel"; org1.Contact.Email = "roy@twine-s.com"; org1.Contact.FirstName = "Roy"; org1.Contact.LastName = "Ben Shabat"; repo.Insert(org1).GetAwaiter().GetResult(); Assert.IsNotNull(org1.ID); OrganizationEntity orgDuplicate = new OrganizationEntity(); orgDuplicate.Name = org1.Name; Assert.ThrowsException(() => { repo.Insert(orgDuplicate).GetAwaiter().GetResult(); }); var org2 = repo.GetAsync(x => x.ID == org1.ID).GetAwaiter().GetResult().FirstOrDefault(); Assert.IsNotNull(org2); Assert.AreEqual(org1.Name, org2.Name); long count = repo.DeleteAsync(x => x.ID == org1.ID).GetAwaiter().GetResult(); Assert.AreEqual(count, 1); count = repo.Count().GetAwaiter().GetResult(); Assert.AreEqual(count, 0); } } }