public void GetById_Fails_If_throws_exception_or_returns_null()
        {
            var artifact = new Artifact()
            {
                Name = "Test",
                Description = "Desc",
                ImagePath = "none"
            };

            var repo = ObjectFactory.Get<IRepository<Artifact, Guid>>();
            repo.Insert(artifact);

            var session = new BidSession()
            {
                Artifact = artifact,
                Date = DateTime.Now
            };

            var sut = ObjectFactory.Get<IRepository<BidSession, Guid>>();
            sut.Insert(session);

            var result = sut.GetById(session.Id);
            Assert.NotNull(result);
            Assert.AreEqual(session.Id,result.Id);
        }
        private void CreateBidSession(out Buyer currentBuyer, out BidSession bidSession)
        {
            var buyer = new Buyer()
            {
                Name = "Ertan",
                Surname = "Ergun"
            };
            var repoBuyer = ObjectFactory.Get<IRepository<Buyer, Guid>>();
            repoBuyer.Insert(buyer);

            var artifact = new Artifact()
            {
                Name = "Test",
                Description = "Desc",
                ImagePath = "none"
            };

            var repoArtifact = ObjectFactory.Get<IRepository<Artifact, Guid>>();
            repoArtifact.Insert(artifact);

            var session = new BidSession()
            {
                Artifact = artifact,
                Date = DateTime.Now
            };

            var repoSession = ObjectFactory.Get<IRepository<BidSession, Guid>>();
            repoSession.Insert(session);

            bidSession = session;
            currentBuyer = buyer;
        }
        public void Delete_Fails_If_throws_exception_or_returns_not_null()
        {
            var buyer = new Buyer()
            {
                Name = "Ertan",
                Surname = "Ergun"
            };
            var repoBuyer = ObjectFactory.Get<IRepository<Buyer, Guid>>();
            repoBuyer.Insert(buyer);

            var artifact = new Artifact()
            {
                Name = "Test",
                Description = "Desc",
                ImagePath = "none"
            };

            var repoArtifact = ObjectFactory.Get<IRepository<Artifact, Guid>>();
            repoArtifact.Insert(artifact);

            var session = new BidSession()
            {
                Artifact = artifact,
                Date = DateTime.Now
            };

            var repoSession = ObjectFactory.Get<IRepository<BidSession, Guid>>();
            repoSession.Insert(session);

            var history = new BidHistory()
            {
                Buyer = buyer,
                Session = session,
                Bid = 1
            };

            var sut = ObjectFactory.Get<IRepository<BidHistory, Guid>>();
            sut.Insert(history);

            var result = sut.GetById(history.Id);
            Assert.NotNull(result);
            Assert.AreEqual(history.Id, result.Id);

            sut.Delete(history);
            result = sut.GetById(history.Id);
            Assert.Null(result);
        }
        public void Update_Fails_If_throws_exception()
        {
            var buyer = new Buyer()
            {
                Name = "Ertan",
                Surname = "Ergun"
            };
            var repoBuyer = ObjectFactory.Get<IRepository<Buyer, Guid>>();
            repoBuyer.Insert(buyer);

            var artifact = new Artifact()
            {
                Name = "Test",
                Description = "Desc",
                ImagePath = "none"
            };

            var repoArtifact = ObjectFactory.Get<IRepository<Artifact, Guid>>();
            repoArtifact.Insert(artifact);

            var session = new BidSession()
            {
                Artifact = artifact,
                Date = DateTime.Now
            };

            var repoSession = ObjectFactory.Get<IRepository<BidSession, Guid>>();
            repoSession.Insert(session);

            var history = new BidHistory()
            {
                Buyer = buyer,
                Session = session,
                Bid = 1
            };

            var sut = ObjectFactory.Get<IRepository<BidHistory, Guid>>();
            sut.Insert(history);

            history.Bid = 2;
            sut.Update(history);
        }
        public void Update_Fails_If_throws_exception()
        {
            var artifact = new Artifact()
            {
                Name = "Test",
                Description = "Desc",
                ImagePath = "none"
            };

            var repo = ObjectFactory.Get<IRepository<Artifact, Guid>>();
            repo.Insert(artifact);

            var session = new BidSession()
            {
                Artifact = artifact,
                Date = DateTime.Now
            };

            var sut = ObjectFactory.Get<IRepository<BidSession, Guid>>();
            sut.Insert(session);

            session.Date = DateTime.Now.AddDays(1);
            sut.Update(session);
        }
        /// <summary>
        /// Creates initial content for the database
        /// </summary>
        protected void CreateDummyData()
        {
            var buyer = new Buyer()
            {
                Name = "Dummy",
                Surname = "User"
            };
            var repoBuyer = ObjectFactory.Get<IRepository<Buyer, Guid>>();
            repoBuyer.Insert(buyer);

            var artifact = new Artifact()
            {
                Name = "A. Lange & Söhne Lange",
                Description = "Modern & Vintage Timepieces",
                ImagePath = "/Content/img/watch.jpg"
            };

            var repoArtifact = ObjectFactory.Get<IRepository<Artifact, Guid>>();
            repoArtifact.Insert(artifact);

            var session = new BidSession()
            {
                Artifact = artifact,
                Date = DateTime.Now
            };

            var repoSession = ObjectFactory.Get<IRepository<BidSession, Guid>>();
            repoSession.Insert(session);

            var history = new BidHistory()
            {
                Buyer = buyer,
                Session = session,
                Bid = 10
            };

            var sut = ObjectFactory.Get<IRepository<BidHistory, Guid>>();
            sut.Insert(history);
        }