public void MakeApplicationQueriesTheDatabaseForCards() { DatabaseAccessService.ReadAsJSON(Arg.Any <string>(), Arg.Any <SqlParameter[]>()) .Returns("{}"); ApplicationService.MakeApplication("Jim", DOB, 100); DatabaseAccessService.Received(1).ReadAsJSON(FindApplicableCardQuery, Arg.Any <SqlParameter[]>()); }
public CreditCardModel FindCard(int cardId) { var statement = $"SELECT * FROM CreditCards WHERE Id = @CardId"; var sqlParams = new SqlParameter[] { new SqlParameter("@CardId", cardId) }; var json = databaseAccess.ReadAsJSON(statement, sqlParams); return(Newtonsoft.Json.JsonConvert.DeserializeObject <CreditCardModel>(json)); }
public ApplicationResponse MakeApplication(string name, DateTime dob, int salary) { int ageInYears = DateTime.Today.Year - dob.Year; var parameters = BuildCardLocationParams(salary, ageInYears); var result = database.ReadAsJSON(FindApplicableCardQuery, parameters); if (result == "{}") { return(UnsuccessfulApplication(name, dob)); } return(SuccessfulApplication(name, dob, result)); }
public void ItReturnsTheRetrievedCard() { var card = new CreditCardModel { Id = 1, CardName = "Test Card", Apr = 1.5F, ImageUrl = "image.com", MaximumSalary = 100, MinimumAge = 19, MinimumSalary = 10, SalesText = "" }; DatabaseAccessService.ReadAsJSON(Arg.Any <string>(), Arg.Any <SqlParameter[]>()).Returns(JsonConvert.SerializeObject(card)); var result = CardService.FindCard(1); result.Should().BeEquivalentTo(card); }