public async void UpdateAccountDetails_AlwaysReturnsA400_OnNullRequest()
        {
            Requests.UpdateAccountDetails request = null;

            ObjectResult result = await subject.UpdateAccountDetails(request);

            Assert.Equal(400, result.StatusCode);
        }
        public async Task <ObjectResult> UpdateAccountDetails(Requests.UpdateAccountDetails request)
        {
            if (request == null)
            {
                return(NoRequest());
            }

            string userId = sesionService.GetCurrentUserId();

            await userRepository.UpdateAccountDetails(userId, request.Genres, request.Venues, request.Name, request.Picture, request.Bio, request.LookingFor, request.MatchRadius, request.Lat, request.Lon).ConfigureAwait(false);

            return(NoContent());
        }
        public async void UpdateAccountDetails_AlwaysReturnsA204()
        {
            Requests.UpdateAccountDetails request = new Requests.UpdateAccountDetails
            {
                Genres      = new string[] { "Rock", "Roll" },
                Venues      = new string[] { "Blue Hut", "Nug" },
                Name        = "Test Name",
                Picture     = "Test Picture",
                Bio         = "Test Bio",
                LookingFor  = "Test Looking For",
                Lat         = 50,
                Lon         = 23,
                MatchRadius = 40,
            };

            sessionService.Setup(x => x.GetCurrentUserId()).Returns("Test ID");

            ObjectResult result = await subject.UpdateAccountDetails(request);

            Assert.Equal(204, result.StatusCode);
        }
        public async void UpdateAccountDetails_UserRepository_UpdateAccountDetails_IsCalledOnce()
        {
            string userId = "Test-ID";

            Requests.UpdateAccountDetails request = new Requests.UpdateAccountDetails
            {
                Genres      = new string[] { "Rock", "Roll" },
                Venues      = new string[] { "Blue Hut", "Nug" },
                Name        = "Test Name",
                Picture     = "Test picture",
                Bio         = "Test Bio",
                LookingFor  = "Test Looking For",
                Lat         = 50,
                Lon         = 23,
                MatchRadius = 40,
            };

            sessionService.Setup(x => x.GetCurrentUserId()).Returns(userId);
            userRepository.Setup(x => x.UpdateAccountDetails(It.IsAny <string>(), It.IsAny <string[]>(), It.IsAny <string[]>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <double>(), It.IsAny <double>()));

            ObjectResult result = await subject.UpdateAccountDetails(request);

            userRepository.Verify(x => x.UpdateAccountDetails(userId, request.Genres, request.Venues, request.Name, request.Picture, request.Bio, request.LookingFor, request.MatchRadius, request.Lat, request.Lon), Times.Once);
        }