public void TestBrowseContributorStory()
        {
            content = DateTime.Now.ToString(CultureInfo.InvariantCulture);
            content = content.Replace(" ", "").Replace("/", "").Replace(":", "");
            ContributorStoryModel model = new ContributorStoryModel();

            model.StoryID       = 22;
            model.Content       = content;
            model.ContributorID = content + "@testmail.com";
            model.Title         = "Testing Content For Save Contribution Story";
            DatabaseAccess obj    = new DatabaseAccess();
            bool           result = obj.SaveContributionForStory(model);

            Assert.IsTrue(result);

            var tableCollection = dataBase.GetCollection <ContributorStoryModel>("ContributorStoryTable");
            var condition       = Builders <ContributorStoryModel> .Filter.Eq(p => p.StoryID, 22);

            var fields = Builders <ContributorStoryModel> .Projection.Include(p => p.Content).Include(p => p.StoryID);

            var results = tableCollection.Find(condition).Project <ContributorStoryModel>(fields).ToList().AsQueryable();

            if (results.Any())
            {
                Assert.IsTrue((results.Count(s => s.Content.Equals(content))) == 1);
            }

            List <ContributorStoryModel> stories = obj.BrowseContributorStories(content + "@testmail.com");

            Assert.IsTrue(stories.Count == 1);
            Assert.IsTrue(stories[0].Content.Equals(content));
        }
        public void TestSaveContributionForStory()
        {
            int    randomID             = GetRandomID();
            string content              = DateTime.Now.ToString(CultureInfo.InvariantCulture);
            ContributorStoryModel model = new ContributorStoryModel();

            model.StoryID       = randomID;
            model.Content       = content;
            model.ContributorID = "*****@*****.**";
            model.Title         = "Testing Content For Save Contribution Story";
            DatabaseAccess obj    = new DatabaseAccess();
            bool           result = obj.SaveContributionForStory(model);

            Assert.IsTrue(result);

            var tableCollection = dataBase.GetCollection <ContributorStoryModel>("ContributorStoryTable");
            var condition       = Builders <ContributorStoryModel> .Filter.Eq(p => p.StoryID, randomID);

            var fields = Builders <ContributorStoryModel> .Projection.Include(p => p.Content).Include(p => p.StoryID);

            var results = tableCollection.Find(condition).Project <ContributorStoryModel>(fields).ToList().AsQueryable();

            if (results.Any())
            {
                Assert.IsTrue((results.Count(s => s.Content.Equals(content))) == 1);
            }
        }
        public bool SaveContributionForStory(ContributeStoryModel model)
        {
            ContributorStoryModel obj = new ContributorStoryModel();

            obj.StoryID       = model.StoryID;
            obj.Content       = model.ContributionText;
            obj.ContributorID = model.ContributorID;
            DatabaseAccess objDatabaseAccess = new DatabaseAccess();

            return(objDatabaseAccess.SaveContributionForStory(obj));
        }
Beispiel #4
0
        public void TestApprovedContributedStory()
        {
            string emailAddress = "*****@*****.**";
            int    storyID      = 1;
            string content      = "TestContent";

            ContributorStoryModel model = new ContributorStoryModel();

            model.StoryID       = storyID;
            model.Content       = content;
            model.ContributorID = emailAddress;
            model.Title         = "Story1";
            DatabaseAccess obj    = new DatabaseAccess();
            bool           result = obj.SaveContributionForStory(model);

            Assert.IsTrue(result);

            var tableCollection = dataBase.GetCollection <ContributorStoryModel>("ContributorStoryTable");
            var condition       = Builders <ContributorStoryModel> .Filter.Eq(p => p.StoryID, storyID);

            var fields = Builders <ContributorStoryModel> .Projection.Include(p => p.Content).Include(p => p.StoryID);

            var results = tableCollection.Find(condition).Project <ContributorStoryModel>(fields).ToList().AsQueryable();

            if (results.Any())
            {
                Assert.IsTrue((results.Count(s => s.Content.Equals(content))) == 1);
            }

            List <ContributorStoryModel> stories = obj.BrowseContributorStories(content + "@testmail.com");

            Assert.IsTrue(stories.Count == 1);
            Assert.IsTrue(stories[0].Content.Equals(content));

            Assert.IsTrue(obj.DeleteRestContributedStories(storyID, emailAddress));

            var collection = dataBase.GetCollection <ContributorStoryModel>("ContributorStoryTable");
            var cond       = Builders <ContributorStoryModel> .Filter.Eq(p => p.StoryID, storyID);

            var field = Builders <ContributorStoryModel> .Projection.Include(p => p.Content).Include(p => p.StoryID);

            var queryResult = tableCollection.Find(condition).Project <ContributorStoryModel>(fields).ToList().AsQueryable();

            Assert.True(!queryResult.Any());

            var approvedResult = obj.GetStoryByID(storyID);

            Assert.IsTrue(approvedResult.Content.Contains(content));
        }
        public bool SaveContributionForStory(ContributorStoryModel modelData)
        {
            bool result = false;

            try
            {
                if (modelData.Content != string.Empty)
                {
                    modelData.Title = GetTitle(modelData.StoryID);
                    var collectionName =
                        CreateDataConnection(new MongoClient()).GetCollection <BsonDocument>("ContributorStoryTable");
                    var document = modelData.ToBsonDocument();
                    collectionName.InsertOne(document);
                    result = true;
                }
                return(result);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }