public void Should_Return_Ok_When_Archive_With_Manager() { // Arrange var logId = 1; var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(true).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepo = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepo, hashService); var logService = new LogService(fakes.Mapper, fakeRepository, userService); // Act var controller = new LogController(fakes.Mapper, logService); var actual = controller.Archive(logId); // Assert Assert.NotNull(actual); Assert.IsType <ObjectResult>(actual.Result); var result = actual.Result as ObjectResult; Assert.NotNull(result.Value); Assert.Equal(200, result.StatusCode); // Ok Assert.IsType <Response>(result.Value); }
public void Should_Return_Forbidden_When_Archive_Without_Authorization() { // Arrange var logId = 1; var userId = 3; // User with id 3 isn't owner of the log with id 1 var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(false, userId).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepo = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepo, hashService); var logService = new LogService(fakes.Mapper, fakeRepository, userService); // Act var controller = new LogController(fakes.Mapper, logService); var actual = controller.Archive(logId); // Assert Assert.NotNull(actual); Assert.IsType <ObjectResult>(actual.Result); var result = actual.Result as ObjectResult; Assert.NotNull(result.Value); Assert.Equal(403, result.StatusCode); // Forbidden Assert.IsType <Response>(result.Value); }
public void Should_Return_Ok_When_Post_With_Manager_And_Specified_UserId() { // Arrange var userId = 1; var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(true).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepo = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepo, hashService); var logService = new LogService(fakes.Mapper, fakeRepository, userService); var request = fakes.Get <CreateLogRequest>().First(); request.UserId = userId; // Act var controller = new LogController(fakes.Mapper, logService); var actual = controller.Post(request); // Assert Assert.NotNull(actual); Assert.IsType <ObjectResult>(actual.Result); var result = actual.Result as ObjectResult; Assert.NotNull(result.Value); Assert.Equal(200, result.StatusCode); // Ok Assert.IsType <Response>(result.Value); }
public void Should_Return_NotFound_When_Delete_With_An_Incorrect_Id() { // Arrange var logId = 9999; var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(true).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepo = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepo, hashService); var logService = new LogService(fakes.Mapper, fakeRepository, userService); // Act var controller = new LogController(fakes.Mapper, logService); var actual = controller.Delete(logId); // Assert Assert.NotNull(actual); Assert.IsType <ObjectResult>(actual.Result); var result = actual.Result as ObjectResult; Assert.NotNull(result.Value); Assert.Equal(404, result.StatusCode); // Not Found Assert.IsType <Response>(result.Value); }
public void Should_Return_User_When_Update_With_Manager() { // Arrange var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(true).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepository = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepository, hashService); var request = fakes.Get <UpdateLogRequest>().First(); request.Title = "Updated Title"; var log = fakes.Get <Log>().First(); log.Title = request.Title; var response = fakes.Mapper.Map <LogResponse>(log); var expected = Responses.OkResponse(null, response); // Act var service = new LogService(fakes.Mapper, fakeRepository, userService); var actual = service.Update(log.Id, request).Result; // Assert Assert.IsType <Response>(actual); Assert.NotNull(actual); Assert.Equal(expected, actual, new LogResponseComparer()); }
public void Should_Return_Log_When_Archive_With_Manager(int logId) { // Arrange var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(true).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepository = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepository, hashService); var log = fakeRepository.GetById(logId).Result; log.Archived = !log.Archived; // Should change log archiving state var response = fakes.Mapper.Map <LogResponse>(log); var expected = Responses.OkResponse(null, response); // Act var service = new LogService(fakes.Mapper, fakeRepository, userService); var actual = service.Archive(logId).Result; // Assert Assert.IsType <Response>(actual); Assert.NotNull(actual); Assert.Equal(expected, actual, new LogResponseComparer()); }
public void Should_Return_Log_When_Update_With_Owner(int logId, int loggedUserId) { // Arrange var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(false, loggedUserId).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepository = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepository, hashService); var log = fakeRepository.GetById(logId).Result; log.Title = "Updated Title"; var request = fakes.Mapper.Map <UpdateLogRequest>(log); var response = fakes.Mapper.Map <LogResponse>(log); var expected = Responses.OkResponse(null, response); // Act var service = new LogService(fakes.Mapper, fakeRepository, userService); var actual = service.Update(logId, request).Result; // Assert Assert.IsType <Response>(actual); Assert.NotNull(actual); Assert.Equal(expected, actual, new LogResponseComparer()); }
public void Should_Return_Log_When_Create_With_Manager_And_Specified_UserId() { // Arrange var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(true).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepository = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepository, hashService); var request = fakes.Get <CreateLogRequest>().First(); var log = fakes.Get <Log>().First(); var response = fakes.Mapper.Map <LogResponse>(log); response.Id = 999; // Mocked id when creating a new log response.Archived = false; // By default, log is created as unarchived response.UserId = request.UserId.Value; // UserId were specified, so it should be equal to the UserId in request // Act var service = new LogService(fakes.Mapper, fakeRepository, userService); var actual = service.Create(request).Result; response.CreatedAt = (actual.Data as LogResponse).CreatedAt; var expected = Responses.OkResponse(null, response); // Assert Assert.IsType <Response>(actual); Assert.NotNull(actual); Assert.Equal(expected, actual, new LogResponseComparer()); }
public void Should_Return_All_User_Archived_Logs_When_GetArchivedLogsByUserId_With_Manager(int userId) { // Arrange var loggedUserId = userId; var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(false, loggedUserId).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepo = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepo, hashService); var logs = fakeRepository.GetAllArchivedByUserId(userId).Result; var response = fakes.Mapper.Map <LogResponse[]>(logs); var expected = Responses.OkResponse(null, response); // Act var service = new LogService(fakes.Mapper, fakeRepository, userService); var actual = service.GetArchivedLogsByUserId(userId).Result; var logResponses = actual.Data as LogResponse[]; // Assert Assert.IsType <Response>(actual); Assert.NotNull(actual); Assert.Equal(expected, actual, new LogResponseListComparer()); Array.ForEach(logResponses, log => Assert.True(log.Archived)); }
public void Should_Return_Ok_When_Delete_With_Manager(int logId) { // Arrange var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(true).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepository = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepository, hashService); var expected = Responses.OkResponse("Log deletado"); // Act var service = new LogService(fakes.Mapper, fakeRepository, userService); var actual = service.Delete(logId).Result; // Assert Assert.IsType <Response>(actual); Assert.NotNull(actual); Assert.Equal(expected, actual, new ResponseComparer()); }
public void Should_Return_NotFound_When_Archive_With_An_Incorrect_Id() { // Arrange var logId = 9999; var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(true).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepository = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepository, hashService); var expected = Responses.NotFoundResponse("Log não encontrado"); // Act var service = new LogService(fakes.Mapper, fakeRepository, userService); var actual = service.Archive(logId).Result; // Assert Assert.IsType <Response>(actual); Assert.NotNull(actual); Assert.Equal(expected, actual, new ResponseComparer()); }
public void Should_Return_Forbidden_When_Delete_Without_Authorization(int logId) { // Arrange var fakes = new Fakes(); var loggedUserId = 0; // Doesn't exist user with id 0 var fakeHttp = fakes.FakeHttpContextAccessor(false, loggedUserId).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepository = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepository, hashService); var expected = Responses.ForbiddenResponse( "Não é possível deletar um log de outro usuário"); // Act var service = new LogService(fakes.Mapper, fakeRepository, userService); var actual = service.Delete(logId).Result; // Assert Assert.IsType <Response>(actual); Assert.NotNull(actual); Assert.Equal(expected, actual, new ResponseComparer()); }
public void Should_Return_Forbidden_When_GetArchivedLogsByUserId_Without_Authorization(int userId) { // Arrange var loggedUserId = userId - 1; var fakes = new Fakes(); var fakeHttp = fakes.FakeHttpContextAccessor(false, loggedUserId).Object; var fakeRepository = fakes.FakeLogRepository().Object; var fakeUserRepo = fakes.FakeUserRepository().Object; var hashService = new HashService(); var userService = new UserService(fakes.Mapper, fakeHttp, fakeUserRepo, hashService); var expected = Responses.ForbiddenResponse( "Não é possível obter logs de outro usuário"); // Act var service = new LogService(fakes.Mapper, fakeRepository, userService); var actual = service.GetArchivedLogsByUserId(userId).Result; // Assert Assert.IsType <Response>(actual); Assert.NotNull(actual); Assert.Equal(expected, actual, new ResponseComparer()); }