public async Task NotSaveUserWhenUserIsAlreadyExist()
        {
            // Arrange
            var command = new CreateUserCommand(UserId, Name, _notes);
            var user    = Substitute.ForPartsOf <User>(UserId, Name, _notes);

            _repository.GetByIdAsync <User>(UserId).ReturnsForAnyArgs(user);

            // Act
            var result = await _sut.Handle(command, CancellationToken.None);

            // Assert
            Assert.True(result.IsSuccess);
            _userFactory.DidNotReceive().Create(Arg.Is(UserId), Arg.Is(Name), Arg.Is(_notes));
            user.DidNotReceive().Init();
            await _repository.DidNotReceive().SaveAsync(Arg.Is <User>(p => p.id == UserId && p.Name == Name && p.Notes.SequenceEqual(_notes)));
        }