public void GetAllReturnsAListOfMarkdowns()
        {
            IRepository <Markdown> markdownRepository = new MarkdownRepository();

            var priceList = markdownRepository.GetAll();

            Assert.NotNull(priceList);
        }
        public void UpdateWithExistingMarkdownReturnsTrue()
        {
            IRepository <Markdown> markdownRepository = new MarkdownRepository();

            markdownRepository.Save(markdown);
            bool updated = markdownRepository.Update(updatedMarkdown);

            Assert.IsTrue(updated);
        }
        public void GetMarkdownByProductNameWithNonExistentProductNameReturnsNull()
        {
            IRepository <Markdown> markdownRepository = new MarkdownRepository();

            markdownRepository.Save(markdown);

            var markdownResult = markdownRepository.GetByProductName("Bananas");

            Assert.IsNull(markdownResult);
        }
        public void SaveAddsMarkdownToList()
        {
            IRepository <Markdown> markdownRepository = new MarkdownRepository();

            markdownRepository.Save(markdown);

            var priceList = markdownRepository.GetAll();

            Assert.AreEqual(priceList.Count, 1);
        }
        public void GetMarkdownByProductNameWithExistingProductNameReturnsRightMarkdown()
        {
            IRepository <Markdown> markdownRepository = new MarkdownRepository();

            markdownRepository.Save(markdown);

            var markdownResult = markdownRepository.GetByProductName("Can of soup");

            Assert.AreEqual(markdownResult.ProductName, "Can of soup");
            Assert.AreEqual(markdownResult.Amount, 0.2f);
        }
        public void SaveAddsRightMarkdownToList()
        {
            IRepository <Markdown> markdownRepository = new MarkdownRepository();

            markdownRepository.Save(markdown);

            var markdownList = markdownRepository.GetAll();

            Assert.AreEqual(markdownList[0].ProductName, "Can of soup");
            Assert.AreEqual(markdownList[0].Amount, 0.2f);
        }
        public void Error_On_Invalid_Path()
        {
            var mockFileSystem = new FileSystemBuilder()
                                 .AddInvalidFolder(@"c:\invalid\folder")
                                 .Build();
            var uat = new MarkdownRepository(mockFileSystem, null);

            Exception ex = Assert.Throws <InvalidOperationException>(() => uat.Import(@"c:\invalid\folder"));

            Assert.Equal("Invalid folder", ex.Message);
        }
        public void UpdateWithExistingMarkdownUpdatesRightMarkdown()
        {
            IRepository <Markdown> markdownRepository = new MarkdownRepository();

            markdownRepository.Save(markdown);
            bool updated      = markdownRepository.Update(updatedMarkdown);
            var  markdownList = markdownRepository.GetAll();

            Assert.IsTrue(updated);
            Assert.AreEqual(markdownList[0].ProductName, "Can of soup");
            Assert.AreEqual(markdownList[0].Amount, 0.45f);
        }
        public void Import_Works_Correctly()
        {
            var mockBlogLoader = new BlogLoaderBuilder()
                                 .AddBlog(@"c:\valid\folder\blog1", new Website.Data.Blog())
                                 .AddBlog(@"c:\valid\folder\blog2", new Website.Data.Blog())
                                 .AddBlog(@"c:\valid\folder\blog3", new Website.Data.Blog())
                                 .Build();
            var mockFileSystem = new FileSystemBuilder()
                                 .AddFolderStructure(@"c:\valid\folder", new List <string>
            {
                @"c:\valid\folder\blog1",
                @"c:\valid\folder\blog2",
                @"c:\valid\folder\blog3"
            })
                                 .Build();
            var uat = new MarkdownRepository(mockFileSystem, mockBlogLoader);

            var blogs = uat.Import(@"c:\valid\folder");

            Assert.Equal(3, blogs.Count);
        }