public void RegisterUser_EmptyDb_ShouldReturn200Ok_AccessToken() { // Arrange TestingEngine.CleanDatabase(); var username = "******"; // Act var postContent = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("username", username), new KeyValuePair <string, string>("password", "pAssW@rd#123456") }); var httpResponse = TestingEngine.HttpClient.PostAsync("/api/user/register", postContent).Result; Assert.AreEqual(HttpStatusCode.OK, httpResponse.StatusCode); var userSession = httpResponse.Content.ReadAsAsync <UserSessionModel>().Result; // Assert Assert.AreEqual(userSession.UserName, username); Assert.IsNotNull(userSession.Access_Token); }
public void CreateOffers_ValidOffers_ShouldCreateOffersCorrectly() { // Arrange -> clean the database and register new user TestingEngine.CleanDatabase(); var userSession = TestingEngine.RegisterUser("peter", "pAssW@rd#123456"); // Act -> create a few offers var offersToAdds = new OfferModel[] { new OfferModel() { Title = "First Offer (Expired)", Description = "Description", InitialPrice = 200, ExpirationDateTime = DateTime.Now.AddDays(-5) }, new OfferModel() { Title = "Another Offer (Expired)", InitialPrice = 15.50m, ExpirationDateTime = DateTime.Now.AddDays(-1) }, new OfferModel() { Title = "Second Offer (Active 3 months)", Description = "Description", InitialPrice = 500, ExpirationDateTime = DateTime.Now.AddMonths(3) }, new OfferModel() { Title = "Third Offer (Active 6 months)", InitialPrice = 120, ExpirationDateTime = DateTime.Now.AddMonths(6) }, }; foreach (var offer in offersToAdds) { var httpResult = TestingEngine.CreateOfferHttpPost(userSession.Access_Token, offer.Title, offer.Description, offer.InitialPrice, offer.ExpirationDateTime); Assert.AreEqual(HttpStatusCode.Created, httpResult.StatusCode); } // Assert -> offers created correctly var offersCount = TestingEngine.GetOffersCountFromDb(); Assert.AreEqual(4, offersCount); }
public void CreateBid_Unauthorized_ShouldReturnUnauthorized() { // Arrange -> clean database, register new user, create an offer 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); Assert.AreEqual(HttpStatusCode.Created, httpResultOffer.StatusCode); var offer = httpResultOffer.Content.ReadAsAsync <OfferModel>().Result; // Act -> try to create a bid var httpResultBid = TestingEngine.CreateBidHttpPost(null, offer.Id, 1000, "Some comment"); // Assert -> bid not created Assert.AreEqual(HttpStatusCode.Unauthorized, httpResultBid.StatusCode); var bidsCount = TestingEngine.GetBidsCountFromDb(); Assert.AreEqual(0, bidsCount); }