Ejemplo n.º 1
0
        public ActionResult Add(string friendId)
        {
            var request = new AddPlayerToFriendsRequest
                              {
                                  FriendId = friendId,
                                  ProfileId = GetProfileFromCookie()
                              };

            var handler = new AddPlayerToFriendsRequestHandle(new ProfileRepository());

            handler.Handle(request);

            return RedirectToAction("FriendList");
        }
        public void WontAddPlayerIfTheyAreAlreadyAFriend()
        {
            var request = new AddPlayerToFriendsRequest() { FriendId = "SomeId", ProfileId = "ProfId" };

            var profile = new Profile();
            var friendProfile = new Profile() {ProfileName = request.FriendId};
            profile.FriendsIds.Add(friendProfile.ProfileName);

            _mockProfileRepo = new Mock<IProfileRepository>();
            _mockProfileRepo.Setup(x => x.GetByProfileId(request.ProfileId)).Returns(profile);
            //_mockProfileRepo.Setup(x => x.GetByProfileId(request.FriendId)).Returns(friendProfile);
            //_mockProfileRepo.Setup(x => x.AddFriendToProfile(profile.ProfileId, friendProfile.ProfileId)).Callback(() => profileWasSaved = true);

            var handler = new AddPlayerToFriendsRequestHandle(_mockProfileRepo.Object);

            var response = handler.Handle(request);

            Assert.That(response.Status, Is.EqualTo(ResponseCodes.AlreadyFriend));
        }
        public void CanAddPlayerToFriends()
        {
            bool profileWasSaved = false;
            var request = new AddPlayerToFriendsRequest() {FriendId = "SomeId", ProfileId = "ProfId"};

            var profile = new Profile();
            var friendProfile = new Profile();

            _mockProfileRepo = new Mock<IProfileRepository>();
            _mockProfileRepo.Setup(x => x.GetByProfileId(request.ProfileId)).Returns(profile);
            _mockProfileRepo.Setup(x => x.GetByProfileId(request.FriendId)).Returns(friendProfile);
            _mockProfileRepo.Setup(x => x.AddFriendToProfile(profile.ProfileName, friendProfile.ProfileName)).Callback(() => profileWasSaved = true);

            var handler = new AddPlayerToFriendsRequestHandle(_mockProfileRepo.Object);

            var response = handler.Handle(request);

            Assert.True(profileWasSaved);
            Assert.That(profile.FriendsIds[0], Is.SameAs(friendProfile.ProfileName));
            Assert.That(response.Status, Is.EqualTo(ResponseCodes.Success));
        }