コード例 #1
0
 public void SetUp()
 {
     SetupRepository();
     SetupAuthService();
     SetupCommunicationService();
     _classUnderTest = new DeleteUserHandler(_repository.Object, _authService.Object, _communicationService.Object);
 }
コード例 #2
0
        public async Task ShouldDeleteUserAccountCorrectly()
        {
            //Arrange
            User user            = new User("test", "test", "test", "test");
            var  dateDeleted     = new DateTime();
            var  usersRepository = new Mock <IUsersRepository>();

            usersRepository.Setup(x => x.Get(It.IsAny <Guid>()))
            .Returns(user);

            usersRepository.Setup(x => x.UpdateAsync(It.IsAny <User>()))
            .Callback <User>(x =>
            {
                user        = x;
                dateDeleted = user.ChangedAt;
            })
            .Returns(Task.CompletedTask);


            var deleteUserHandler = new DeleteUserHandler(usersRepository.Object);
            var command           = new DeleteUserCommand(user.Id);

            //Act
            await deleteUserHandler.HandleAsync(command);

            //Assert

            usersRepository.Verify(x => x.Get(It.IsAny <Guid>()), Times.Once);
            usersRepository.Verify(x => x.UpdateAsync(It.IsAny <User>()), Times.Once);
            Assert.That(user.IsDeleted);
            Assert.That(user.ChangedAt, Is.EqualTo(dateDeleted));
        }
コード例 #3
0
        public void SetUp()
        {
            _userService    = new Mock <IUserService>();
            _eventPublisher = new Mock <IEventPublisher>();

            _handler = new DeleteUserHandler(_userService.Object, _eventPublisher.Object);
        }
コード例 #4
0
        public DeleteUserHandlerTests()
        {
            _fixture         = new Fixture();
            _databaseContext = Substitute.For <IDatabaseContext>();

            _sut = new DeleteUserHandler(_databaseContext);
        }
コード例 #5
0
        public HttpResponseMessage Delete(string ticket)
        {
            var securityProvider = new SecurityProvider(_connectionString);

            var sessionInfo = securityProvider.GetSessionInfo(ticket);

            if (sessionInfo == null)
            {
                return(Request.CreateResponse(HttpStatusCode.Unauthorized));
            }

            var deleteRequest = new DeleteUserRequest
            {
                Ticket = ticket,
                UserId = sessionInfo.User.Id
            };

            var handler = new DeleteUserHandler(_connectionString);

            var response = handler.Handle(deleteRequest);

            var httpStatusCode = ResolveStatusCode(response);

            return(Request.CreateResponse(httpStatusCode, response));
        }
コード例 #6
0
        public async void SouldReturnSuccess_WhenCommandDeleteUserIsInvalid()
        {
            // arrange
            var(repo, context) = GetRepository();
            _ = await repo.Save(new UserEntity { Email = "*****@*****.**", Name = "test1", Password = "******" });

            var comando = new DeleteUserCommand {
                Id = 1
            };
            var handler = new DeleteUserHandler(repo);

            // act
            _ = await handler.Handle(comando, CancellationToken.None);

            // assert
            var result = await context.UserEntityDb.ToListAsync();

            var count = result.Count();

            Assert.Equal(0, count);
        }
コード例 #7
0
        public void UpdatesUserInRepository_RaisesIntegrationEvent()
        {
            var user = new Domain.User(Id, "A B", "*****@*****.**", false);

            var repository = new Mock <IUserRepository>(MockBehavior.Strict);

            repository.Setup(r => r.GetAsync(user.Id)).Returns(Task.FromResult(user)).Verifiable();
            repository.Setup(r => r.DeleteAsync(user)).Returns(Task.CompletedTask).Verifiable();
            repository.Setup(r => r.SaveChanges()).Returns(Task.CompletedTask).Verifiable();

            var busPublisher = new Mock <IBusPublisher>(MockBehavior.Strict);

            busPublisher.Setup(p => p.Publish <IUserDeleted>(It.Is <IUserDeleted>(e => ValidateEquality(e)))).Returns(Task.CompletedTask).Verifiable();

            var handler = new DeleteUserHandler(repository.Object, busPublisher.Object);
            var result  = handler.HandleAsync(Cmd, new Mock <ICorrelationContext>().Object).GetAwaiter().GetResult();

            Assert.IsTrue(result.Successful);
            repository.Verify();
            busPublisher.Verify();
        }
コード例 #8
0
        public DeleteUserHandlerTests()
        {
            _userRepositoryMock = new Mock <IUserRepository>();

            _deleteUserHandler = new DeleteUserHandler(_userRepositoryMock.Object);
        }
コード例 #9
0
 public virtual void Setup()
 {
     DataContext       = DataContextHelper.GetInMemoryDataContext();
     CancellationToken = new CancellationToken();
     Handler           = new DeleteUserHandler(DataContext);
 }