Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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());
            }
        }