public async Task Search_ReturnsServices() { // arrange var vendorSearchProp = new VendorSearchProperties { type = "Venue", maxPrice = 100 }; var service = new VendorServices { vendorId = 123, flatFee = true, price = 20, serviceDescription = "desc", serviceName = "svcName", serviceType = "Venue" }; List <VendorServices> services = new List <VendorServices> { service, service }; _vendorServicesQueryMock.Setup(x => x.Search(vendorSearchProp)) .Returns(Task.Factory.StartNew(() => services)); // act var task = await _sut.Search(vendorSearchProp); // assert Assert.IsType <OkObjectResult>(task); var result = task as OkObjectResult; var usersResult = result.Value as List <VendorServices>; Assert.Equal(services, usersResult); }
public async Task Search_ThrowsException() { //arrange var exception = new Exception(); var vendorSearchProp = new VendorSearchProperties { type = "Venue", maxPrice = 100 }; //act _vendorServicesQueryMock.Setup(x => x.Search(vendorSearchProp)) .Throws(exception); var task = await _sut.Search(vendorSearchProp); // assert Assert.IsType <BadRequestResult>(task); }
public async Task Search_ReturnsNotFound() { //arrange List <VendorServices> services = null; var vendorSearchProp = new VendorSearchProperties { type = "Venue", maxPrice = 100 }; _vendorServicesQueryMock.Setup(x => x.Search(vendorSearchProp)) .Returns(Task.Factory.StartNew(() => services)); var task = await _sut.Search(vendorSearchProp); // assert Assert.IsType <NotFoundResult>(task); }
public async Task <List <VendorServices> > Search(VendorSearchProperties properties) { try { using (var db = _database) { var connection = db.Connection as MySqlConnection; await connection.OpenAsync(); string query = @"SELECT * FROM occasions.vendorServices " + @" WHERE active = 1 AND serviceType = @type " + @" AND googleId IN @googleIds;"; var result = await connection.QueryAsync <VendorServices>(query, properties); return(result.ToList()); } } catch (Exception ex) { return(null); } }
public async Task <IActionResult> Search([FromBody] VendorSearchProperties properties) { if (properties == null) { return(new BadRequestResult()); } try { var result = await _vendorServicesQuery.Search(properties); if (result == null) { return(new NotFoundResult()); } return(new OkObjectResult(result)); } catch (Exception ex) { await _logger.LogError(HttpContext.User, ex); return(new BadRequestResult()); } }