public async Task AuthToken_Generate_Failed_missing_phone_and_Password()
        {
            //arrange
            _authTokenAPI = new AuthTokenController(new AuthTokenService(_authTokenRepositoryMock.Object, _personsRepositoryMock.Object))
            {
                Request       = new System.Net.Http.HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };

            var authTokenRequest = new AuthTokenRequest()
            {
                Phone    = "",
                Password = ""
            };

            _personsRepositoryMock.Setup(x => x.IsPhoneExists(It.IsAny <string>())).Returns(true);
            _authTokenRepositoryMock.Setup(x => x.Add(It.IsAny <AuthToken>())).Returns(It.IsAny <int>());

            //act
            var response = await _authTokenAPI.GenerateAsync(authTokenRequest);

            var responseBody = await Task.FromResult(response.Content.ReadAsStringAsync()).Result;

            //assert
            Assert.AreEqual(System.Net.HttpStatusCode.BadRequest, response.StatusCode);
            Assert.IsTrue(responseBody.Contains("{\\\"MemberNames\\\":[\\\"Password\\\"],\\\"ErrorMessage\\\":\\\"blank\\\"}"));
            Assert.IsTrue(responseBody.Contains("{\\\"MemberNames\\\":[\\\"Phone\\\"],\\\"ErrorMessage\\\":\\\"blank\\\"}"));
        }
        public async Task AuthToken_Generate_Success()
        {
            //arrange
            _authTokenAPI = new AuthTokenController(new AuthTokenService(_authTokenRepositoryMock.Object, _personsRepositoryMock.Object))
            {
                Request       = new System.Net.Http.HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };

            var authTokenRequest = new AuthTokenRequest()
            {
                Phone    = "123456789123",
                Password = "******"
            };

            _personsRepositoryMock.Setup(x => x.IsPhoneExists(It.IsAny <string>())).Returns(true);
            _authTokenRepositoryMock.Setup(x => x.Add(It.IsAny <AuthToken>())).Returns(It.IsAny <int>());

            //act
            var response = await _authTokenAPI.GenerateAsync(authTokenRequest);

            //assert
            Assert.AreEqual(System.Net.HttpStatusCode.Created, response.StatusCode);
        }