public async Task RegisterNewUserAccountCommandHandler_WhenHandleWithInvitingReflink_CreateUserAccountAndItsMultiAccountToInvitingReflink()
        {
            // Arrange
            _sut = new RegisterNewUserAccountCommandHandler(_context, _userMultiAccountHelper, _userMultiAccountRepository);
            await CreateExistingUsersInDatabase();

            var command = CreateCommand();

            command.SponsorRefLink = "reflink333";

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

            // Assert
            var user = await _context.UserAccountsData
                       .SingleOrDefaultAsync(x => x.Id == result);

            var multiAccount = await _context.UserMultiAccounts
                               .Include(x => x.Sponsor)
                               .SingleOrDefaultAsync(x => x.UserAccountDataId == result);

            user.Should().NotBeNull();
            multiAccount.Should().NotBeNull();
            multiAccount.IsMainAccount.Should().BeTrue();
            multiAccount.Sponsor.MultiAccountName.Should().Be("333");
        }
        public async Task RegisterNewUserAccountCommandHandler_WhenHandleWithoutReflinkOrLogin_CreateUserAccountAndItsMultiAccountToRandomUser()
        {
            // Arrange
            _sut = new RegisterNewUserAccountCommandHandler(_context, _userMultiAccountHelper, _userMultiAccountRepository);
            await CreateExistingUsersInDatabase();

            var command = CreateCommand();

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

            // Assert
            var user = await _context.UserAccountsData.SingleOrDefaultAsync(x => x.Id == result);

            var multiAccount = await _context.UserMultiAccounts.SingleOrDefaultAsync(x => x.UserAccountDataId == result);

            user.Should().NotBeNull();
            multiAccount.Should().NotBeNull();
            multiAccount.IsMainAccount.Should().BeTrue();
        }