public async Task <IActionResult> AddFavouriteCompany(
            [FromBody] AddFavouriteCompanyCommand command)
        {
            await DispatchAsync(command);

            return(NoContent());
        }
        public async Task add_favourite_company_returns_bad_request_if_given_company_symbol_is_incorrect(string symbol)
        {
            //Given
            var user = await AddUserWithInvestorToRepoAndGetAsync();

            var client = await CreateAuthorizedClient(user);

            var command = new AddFavouriteCompanyCommand()
            {
                CompanySymbol = symbol
            };
            var payload = GetPayload(command);

            //When
            var response = await client.PostAsync(Uri("companies"), payload);

            //Then
            response.StatusCode.Should().BeEquivalentTo(HttpStatusCode.BadRequest);
        }
        public async Task add_favourite_company_returns_no_content_on_success()
        {
            //Given
            var user = await AddUserWithInvestorToRepoAndGetAsync();

            var client = await CreateAuthorizedClient(user);

            string companySymbol = "MSFT";
            var    command       = new AddFavouriteCompanyCommand()
            {
                CompanySymbol = companySymbol
            };
            var payload = GetPayload(command);

            //When
            var response = await client.PostAsync(Uri("companies"), payload);

            //Then
            response.StatusCode.Should().BeEquivalentTo(HttpStatusCode.NoContent);
        }