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); }