public void UsersController_Delete_SimulatedServerFailure() { var options = CreateNewContextOptions(); using (var context = new HighFiveContext(_config, options)) { var organization = new Organization() { Name = "Ariel Partners" }; context.Organizations.Add(organization); var user = new HighFiveUser() { Email = "*****@*****.**", Organization = organization }; context.Users.Add(user); context.SaveChanges(); var repo = new Mock <IHighFiveRepository>(); repo.Setup(r => r.GetUserByEmail(It.IsAny <String>())).Returns(user); repo.Setup(r => r.DeleteUser(It.IsAny <HighFiveUser>())).Throws <HighFiveException>(); UsersController controller = new UsersController(repo.Object, _controllerLogger); var result = controller.Delete("*****@*****.**"); result.Should().BeOfType <BadRequestObjectResult>(); var badRequestResult = result as BadRequestObjectResult; AssertMessageProperty("Failed to delete user [email protected]", badRequestResult.Value); } }
public void UsersController_Delete_SunnyDay() { var options = CreateNewContextOptions(); using (var context = new HighFiveContext(_config, options)) { var organization = new Organization() { Name = "Ariel Partners" }; context.Organizations.Add(organization); context.Users.Add(new HighFiveUser() { Email = "*****@*****.**", Organization = organization }); context.SaveChanges(); } using (var context = new HighFiveContext(_config, options)) { HighFiveRepository repo = new HighFiveRepository(context, _repoLogger); UsersController controller = new UsersController(repo, _controllerLogger); var result = controller.Delete("*****@*****.**"); result.Should().BeOfType <NotFoundObjectResult>(); var notFoundResult = result as NotFoundObjectResult; AssertMessageProperty("User [email protected] not found", notFoundResult.Value); context.Users.Should().HaveCount(1); result = controller.Delete("*****@*****.**"); result.Should().BeOfType <OkObjectResult>(); context.Users.Should().BeEmpty(); result = controller.Delete("*****@*****.**"); result.Should().BeOfType <NotFoundObjectResult>(); notFoundResult = result as NotFoundObjectResult; AssertMessageProperty("User [email protected] not found", notFoundResult.Value); } }