public async Task ShouldReturnBadRequestWithValidErrorMessageGivenUserMonthlySavingLessThanThousand() { var userModel = new UserModel() { Id = Guid.NewGuid(), Name = "Test", Email = $"{Guid.NewGuid()}@test.com.au", MonthlySalary = 5500, MonthlyExpenses = 5000 }; await CreateUser(userModel); //Try creating Account StringContent httpContent = TestHelper.CreateHttpContentFromModel (new AccountCreateRequestModel() { UserId = userModel.Id }); var accountCreateResponse = await client.PostAsync(ApiUrl.AccountApiUrl, httpContent); Assert.AreEqual(HttpStatusCode.BadRequest, accountCreateResponse.StatusCode, "Invalid Http Status Code"); var errorMessage = await TestHelper .GetErrorMessageFromBadRequestContent(accountCreateResponse.Content); Assert.AreEqual("Monthly Salary - Monthly Expenses less than 1000", errorMessage); }
public async Task ShouldReturnBadRequestWithValidErrorMessageGivenEmailAlreadyExists() { var userModel = new UserModel() { Id = Guid.NewGuid(), Name = "Test", Email = $"{Guid.NewGuid()}@test.com.au", MonthlySalary = 10000, MonthlyExpenses = 5000 }; StringContent httpContentForFirstTry = TestHelper.CreateHttpContentFromModel(userModel); var createResponseForFirstTry = await client.PostAsync(ApiUrl.UserApiUrl, httpContentForFirstTry); Assert.AreEqual(HttpStatusCode.Created, createResponseForFirstTry.StatusCode, "Failed at create"); var secondUser = new UserModel() { Id = Guid.NewGuid(), Name = "TestName 2", Email = userModel.Email, MonthlySalary = 10000, MonthlyExpenses = 5000 }; StringContent httpContentForSecondTry = TestHelper.CreateHttpContentFromModel(secondUser); var createResponseForSecondTry = await client.PostAsync(ApiUrl.UserApiUrl, httpContentForSecondTry); Assert.AreEqual(HttpStatusCode.BadRequest, createResponseForSecondTry.StatusCode, "Invalid Http Status Code"); var errorMessage = await TestHelper .GetErrorMessageFromBadRequestContent(createResponseForSecondTry.Content); Assert.AreEqual("Email already exists", errorMessage); }