I have to write automated test scripts for an API by sending a request and validating the response and I don't know where to begin. The API Client is pretty simple and apparently from the developers all I need from the code is this which is the APIClient:
using System.Collections.Generic;
using System.Threading.Tasks;
using System;
using API.Models;
namespace AutomatedAPI
{
    public interface ApiClient
    {
        Task AuthenticateAsync(string clientId, string clientSecret);
        void SetBearerToken(string token);
        Task<ApiResponse<PagedItemResult>> SearchIemsAsync(int? page = 1, Guid? shopId = null);
    }
}
This is all housed in VS, so I have created my own API test class and tried the following:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using API;
namespace API.Automation
{
    [TestClass]
    public class SearchItems
    {
        private Uri apiBaseUri => new Uri("https://qa-shop-items.azurewebsites.net");
        private Uri identityBaseUri => new Uri("https://qa-shop-store");
        [TestMethod]
        public async Task TestMethod()
        {
            var itemId = new Guid("fsdf78dsff-fsdgfg89g-fsgvssfdg89");
            var client = new ThirdPartyApiClient(apiBaseUri);
            client.SetBearerToken("Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkI4QzE2QUNEOEYxODR");
            ApiResponse<Item> result = await client.GetItemAsync(itemId);
        }
    }
}
Now no errors in the syntax but when I run my script I get the following message:
Message: 
    Test method API.Automation.SearchItemss.TestMethod threw exception: 
    System.IO.FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.
  Stack Trace: 
    ApiClient.deserializeTokenPart[T](String tokenPart)
    ApiClient.SetBearerToken(String token) line 98
    <TestMethod>d__4.MoveNext() line 20
    --- End of stack trace from previous location where exception was thrown ---
    TaskAwaiter.ThrowForNonSuccess(Task task)
    TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    ThreadOperations.ExecuteWithAbortSafety(Action action)
As I have not used Task before can someone tell me how to implement this SearchItems method? Or at least give me a template of how this is done?
 
    