public void ShouldGetLastTermsOfService()
        {
            // Setup
            var termsOfService = new TermsOfServiceModel()
            {
                Id            = Guid.NewGuid(),
                Content       = "abc",
                EffectiveDate = DateTime.Today
            };
            RequestResult <TermsOfServiceModel> expectedResult = new RequestResult <TermsOfServiceModel>()
            {
                ResultStatus    = ResultType.Success,
                ResourcePayload = termsOfService,
            };

            Mock <IUserProfileService> userProfileServiceMock = new Mock <IUserProfileService>();

            userProfileServiceMock.Setup(s => s.GetActiveTermsOfService()).Returns(expectedResult);

            Mock <IHttpContextAccessor> httpContextAccessorMock = CreateValidHttpContext(token, userId, hdid);
            Mock <IUserEmailService>    emailServiceMock        = new Mock <IUserEmailService>();
            Mock <IUserSMSService>      smsServiceMock          = new Mock <IUserSMSService>();

            UserProfileController service = new UserProfileController(
                new Mock <ILogger <UserProfileController> >().Object,
                userProfileServiceMock.Object,
                httpContextAccessorMock.Object,
                emailServiceMock.Object,
                smsServiceMock.Object
                );

            var actualResult = service.GetLastTermsOfService();

            Assert.IsType <JsonResult>(actualResult);
            Assert.True(((JsonResult)actualResult).Value.IsDeepEqual(expectedResult));
        }