public async Task RegisterNewUserShouldReturnOK()
        {


            ContainerBuilder autoFacBuilder = new ContainerBuilder();

            autoFacBuilder.Register(c =>
            {
                var iRegisteredUserManager = Substitute.For<RegisteredUserManager>();
                iRegisteredUserManager.RegisterNewOrUpdateDetailsAsync(Arg.Any<RegisteredUser>()).Returns<int>(1);
                return iRegisteredUserManager;
            }).InstancePerDependency();
            autoFacBuilder.RegisterType<RegisteredUserManager>().As<RegisteredUserManager>().InstancePerDependency();


            IContainer iContainer = autoFacBuilder.Build();

            RegisteredUserController controller = new RegisteredUserController(iContainer.Resolve<IRegisteredUserManager>());
            controller.Request = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            IHttpActionResult actionResult = await controller.PostAsync(new RegisteredUser());

            var contentResult = actionResult as OkNegotiatedContentResult<string>;
            Assert.NotNull(contentResult);
            Assert.Equal("New user registration succeded", contentResult.Content);

        }
        public async Task GetUserDetailsShouldReturnOKWithRegisteredUser()
        {


            ContainerBuilder autoFacBuilder = new ContainerBuilder();

            autoFacBuilder.Register(c =>
            {
                var iRegisteredUserManager = Substitute.For<RegisteredUserManager>();
                iRegisteredUserManager.FindAsync(Arg.Any<string>()).Returns<RegisteredUser>(new RegisteredUser { Email = "*****@*****.**" });
                return iRegisteredUserManager;
            }).InstancePerDependency();
            autoFacBuilder.RegisterType<RegisteredUserManager>().As<RegisteredUserManager>().InstancePerDependency();


            IContainer iContainer = autoFacBuilder.Build();

            RegisteredUserController controller = new RegisteredUserController(iContainer.Resolve<IRegisteredUserManager>());
            controller.Request = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            IHttpActionResult actionResult = await controller.GetAsync("*****@*****.**");

            var contentResult = actionResult as OkNegotiatedContentResult<RegisteredUser>;
            Assert.NotNull(contentResult);
            Assert.Equal("*****@*****.**", contentResult.Content.Email);

        }