public static int GetBidsCountFromDb()
 {
     using (var dbContext = new BidSystemDbContext())
     {
         return(dbContext.Bids.Count());
     }
 }
        public void GetOffer_WithValidId_ShouldReturn200OKAndDataCorectly()
        {
            //Arrange
            TestingEngine.CleanDatabase();
            var userSession = TestingEngine.RegisterUser("peter", "pAssW@rd#123456");
            var offerModel = new OfferModel() { Title = "Title", Description = "Description", InitialPrice = 200, ExpirationDateTime = DateTime.Now.AddDays(5) };
            var httpResultOffer = TestingEngine.CreateOfferHttpPost(userSession.Access_Token, offerModel.Title, offerModel.Description, offerModel.InitialPrice, offerModel.ExpirationDateTime);

          

            // Act 
            var db = new BidSystemDbContext();
            var offerFromDb = db.Offers.FirstOrDefault();
            var bids = new BidModel[]
            {
                new BidModel() { BidPrice = 250, Comment = "Invalid: less than the initioal price" },
            };

            var httpResultBid0 = TestingEngine.CreateBidHttpPost(userSession.Access_Token, offerFromDb.Id, bids[0].BidPrice, bids[0].Comment);

            db.SaveChanges();

            var offerDetailsResponse = TestingEngine.HttpClient.GetAsync("/api/offers/details/" + offerFromDb.Id).Result;
            var offerResponseContent = httpResultOffer.Content.ReadAsAsync<OfferDetailsViewModel>().Result;

            // Assert 
            Assert.AreEqual(HttpStatusCode.OK, offerDetailsResponse.StatusCode);
        }
 public static int GetBidsCountFromDb()
 {
     using (var dbContext = new BidSystemDbContext())
     {
         return dbContext.Bids.Count();
     }
 }
 public static int GetRandomOfferIdFromDb()
 {
     using (var dbContext = new BidSystemDbContext())
     {
         return(dbContext.Offers.FirstOrDefault().Id);
     }
 }
 public static int GetRandomOfferIdFromDb()
 {
     using (var dbContext = new BidSystemDbContext())
     {
         return dbContext.Offers.FirstOrDefault().Id;
     }
 }
 public static void CleanDatabase()
 {
     using (var dbContext = new BidSystemDbContext())
     {
         dbContext.Bids.Delete();
         dbContext.Offers.Delete();
         dbContext.Users.Delete();
         dbContext.SaveChanges();
     }
 }
 public static void CleanDatabase()
 {
     using (var dbContext = new BidSystemDbContext())
     {
         dbContext.Bids.Delete();
         dbContext.Offers.Delete();
         dbContext.Users.Delete();
         dbContext.SaveChanges();
     }
 }
 protected BaseApiController(BidSystemDbContext data)
 {
     this.Data = data;
 }
 protected BaseApiController(BidSystemDbContext data)
 {
     this.Data = data;
 }
 public BaseApiController(BidSystemDbContext data)
 {
     this.Data = data;
 }