input: Write a function to scrape product data from an online web store using Python BeautifulSoup. The function should fetch the raw HTML content from the URL, parse the HTML, and extract the product names, prices, and descriptions. Return the extracted data as a list of dictionaries, where each dictionary contains the product's name, price, and description. If no products are found, return an empty list.
  
  assert scrape_web_store_data('http://web-store.com')==[{'name': 'Product 1', 'price': '$10', 'description': 'This is product 1.'}, {'name': 'Product 2', 'price': '$20', 'description': 'This is product 2.'}]
  assert scrape_web_store_data('http://empty-store.com')==[]
  assert scrape_web_store_data('http://single-product-store.com')==[{'name': 'Unique Product', 'price': '$50', 'description': 'This is the only product.'}]
output: import requests
  from bs4 import BeautifulSoup
  
  def scrape_web_store_data(url):
      response = requests.get(url)
      soup = BeautifulSoup(response.content, 'html.parser')
      
      products = []
      for product in soup.find_all('div', class_='product'):
          name = product.find('h2', class_='name').text.strip()
          price = product.find('span', class_='price').text.strip()
          description = product.find('p', class_='description').text.strip()
          products.append({'name': name, 'price': price, 'description': description})
      
      return products