Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }