Esempio n. 1
0
        public async Task Test_Delete_Friend_No_Friend()
        {
            var targetSession = TestHelpers.Instance.GenerateSession();
            var guid          = Guid.NewGuid();
            var targetGuid    = Guid.NewGuid();
            var list          = new List <CharacterDto>
            {
                _session !.Character !,
                targetSession.Character !
            };

            _characterDao !.Setup(s => s.FirstOrDefault(It.IsAny <Expression <Func <CharacterDto, bool> > >()))
            .Returns((Expression <Func <CharacterDto, bool> > exp) => list.FirstOrDefault(exp.Compile()));

            var blDelPacket = new BlDelPacket
            {
                CharacterId = targetSession.Character.CharacterId
            };

            await _blDelPacketHandler !.ExecuteAsync(blDelPacket, _session).ConfigureAwait(false);
            var   lastpacket = (InfoPacket?)_session.LastPackets.FirstOrDefault(s => s is InfoPacket);

            Assert.AreEqual(GameLanguage.Instance.GetMessageFromKey(LanguageKey.NOT_IN_BLACKLIST,
                                                                    _session.Account.Language), lastpacket !.Message);
        }
    }
Esempio n. 2
0
        public async Task Test_Delete_Friend_When_Disconnected()
        {
            var targetGuid = Guid.NewGuid();
            var list       = new List <CharacterDto>
            {
                _session !.Character !,
                new CharacterDto {
                    CharacterId = 2, Name = "test"
                }
            };

            _characterDao !.Setup(s => s.FirstOrDefault(It.IsAny <Expression <Func <CharacterDto, bool> > >()))
            .Returns((Expression <Func <CharacterDto, bool> > exp) => list.FirstOrDefault(exp.Compile()));
            _characterRelationDao !.InsertOrUpdate(new[]
            {
                new CharacterRelationDto
                {
                    RelatedCharacterId  = 2,
                    CharacterRelationId = targetGuid,
                    CharacterId         = _session.Character.CharacterId,
                    RelationType        = CharacterRelationType.Blocked
                }
            });
            var blDelPacket = new BlDelPacket
            {
                CharacterId = 2
            };

            await _blDelPacketHandler !.ExecuteAsync(blDelPacket, _session).ConfigureAwait(false);

            Assert.IsTrue(!_characterRelationDao.LoadAll().Any());
        }
Esempio n. 3
0
        public async Task Test_Delete_FriendAsync()
        {
            var targetSession = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            Guid.NewGuid();
            var targetGuid = Guid.NewGuid();
            var list       = new List <CharacterDto>
            {
                _session !.Character !,
                targetSession.Character !
            };

            _characterDao !.Setup(s => s.FirstOrDefaultAsync(It.IsAny <Expression <Func <CharacterDto, bool> > >()))
            .Returns((Expression <Func <CharacterDto, bool> > exp) => Task.FromResult(list.FirstOrDefault(exp.Compile())) !);
            await _characterRelationDao !.TryInsertOrUpdateAsync(new[]
            {
                new CharacterRelationDto
                {
                    RelatedCharacterId  = targetSession.Character.CharacterId,
                    CharacterRelationId = targetGuid,
                    CharacterId         = _session.Character.CharacterId,
                    RelationType        = CharacterRelationType.Blocked
                }
            }).ConfigureAwait(false);
            var blDelPacket = new BlDelPacket
            {
                CharacterId = targetSession.Character.CharacterId
            };

            await _blDelPacketHandler !.ExecuteAsync(blDelPacket, _session).ConfigureAwait(false);

            Assert.IsTrue(!_characterRelationDao.LoadAll().Any());
        }
        public void Test_Delete_Friend_When_Disconnected()
        {
            var guid       = Guid.NewGuid();
            var targetGuid = Guid.NewGuid();
            var list       = new List <CharacterDto>
            {
                _session.Character,
                new CharacterDto {
                    CharacterId = 2, Name = "test"
                }
            };

            _characterDao.Setup(s => s.FirstOrDefault(It.IsAny <Expression <Func <CharacterDto, bool> > >()))
            .Returns((Expression <Func <CharacterDto, bool> > exp) => list.FirstOrDefault(exp.Compile()));
            _characterRelationDao.InsertOrUpdate(new[]
            {
                new CharacterRelationDto
                {
                    RelatedCharacterId  = 2,
                    CharacterRelationId = targetGuid,
                    CharacterId         = _session.Character.CharacterId,
                    RelationType        = CharacterRelationType.Blocked
                }
            });
            var blDelPacket = new BlDelPacket
            {
                CharacterId = 2
            };

            _BlDelPacketHandler.Execute(blDelPacket, _session);

            Assert.IsTrue(_characterRelationDao.LoadAll().Count() == 0);
        }
Esempio n. 5
0
        /// <summary>
        ///     bldel packet
        /// </summary>
        /// <param name="bldelPacket"></param>
        public void BlackListDelete(BlDelPacket bldelPacket)
        {
            if (!Session.Character.CharacterRelations.Values.Any(s => s.RelatedCharacterId == bldelPacket.CharacterId && s.RelationType == CharacterRelationType.Blocked))
            {
                Session.SendPacket(new InfoPacket
                {
                    Message = Language.Instance.GetMessageFromKey(LanguageKey.NOT_IN_BLACKLIST, Session.Account.Language)
                });
                return;
            }

            Session.Character.DeleteBlackList(bldelPacket.CharacterId);
        }
        public void Test_Delete_Blacklist()
        {
            var blinsPacket = new BlInsPacket
            {
                CharacterId = _targetSession.Character.CharacterId
            };

            _handler.BlackListAdd(blinsPacket);

            var bldelPacket = new BlDelPacket
            {
                CharacterId = _targetSession.Character.CharacterId
            };

            _handler.BlackListDelete(bldelPacket);
            Assert.IsTrue(_session.Character.CharacterRelations.All(s => s.Value.RelatedCharacterId != _targetSession.Character.CharacterId));
        }
        public void Test_Delete_Blacklist_When_Disconnected()
        {
            var guid = Guid.NewGuid();

            _session.Character.CharacterRelations.TryAdd(guid,
                                                         new CharacterRelation {
                CharacterId = _session.Character.CharacterId, CharacterRelationId = guid, RelatedCharacterId = 2, RelationType = CharacterRelationType.Blocked
            });

            var bldelPacket = new BlDelPacket
            {
                CharacterId = 2
            };

            Assert.IsTrue(_session.Character.CharacterRelations.Any(s => s.Value.RelatedCharacterId == 2));

            _handler.BlackListDelete(bldelPacket);
            Assert.IsTrue(_session.Character.CharacterRelations.All(s => s.Value.RelatedCharacterId != 2));
        }