public void AddClaimAllowedGroup()
        {
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.IsAvailable.ShouldBeTrue();
            vm.CanSendClaim.ShouldBeTrue();
        }
        public void CantSendClaimToSameGroup()
        {
            _ = Mock.CreateClaim(Mock.Group, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void CantSendClaimIfHasApproved()
        {
            _ = Mock.CreateApprovedClaim(Mock.Character, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void AllowSendClaimToSameGroupIfProjectSettingsAllows()
        {
            Mock.Project.Details.EnableManyCharacters = true;
            _ = Mock.CreateClaim(Mock.Group, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeTrue();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void CantSendClaimToNotAvailGroup()
        {
            Mock.Group.HaveDirectSlots = false;
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.IsAvailable.ShouldBeFalse();
            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void CantSendClaimToNotAvailCharacter()
        {
            Mock.Character.IsAcceptingClaims = false;
            var vm = AddClaimViewModel.Create(Mock.Character, Mock.Player.UserId);

            vm.IsAvailable.ShouldBeFalse();
            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void AllowSendClaimEvenIfHasAnotherNotApproved()
        {
            _ = Mock.CreateClaim(Mock.Character, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeTrue();
            vm.IsProjectRelatedReason.ShouldBeFalse();
            vm.ValidationStatus.ShouldContain(AddClaimForbideReasonViewModel.AlredySentNotApprovedClaimToAnotherPlace);
        }
        public void AllowSendClaimEvenIfHasApprovedAccordingToSettings()
        {
            Mock.Project.Details.EnableManyCharacters = true;
            _ = Mock.CreateApprovedClaim(Mock.Character, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeTrue();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void CantSendClaimToSameCharacterEvenProjectSettingsAllowsMultiple()
        {
            Mock.Project.Details.EnableManyCharacters = true;
            _ = Mock.CreateClaim(Mock.Character, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Character, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
Esempio n. 10
0
        public async Task <ActionResult> AddForCharacter(int projectid, int characterid)
        {
            var field = await CharacterRepository.GetCharacterAsync(projectid, characterid);

            if (field == null)
            {
                return(HttpNotFound());
            }
            return(View("Add", AddClaimViewModel.Create(field, CurrentUserId)));
        }
        public void CantSendClaimIfNoSlots()
        {
            Mock.Group.HaveDirectSlots     = true;
            Mock.Group.AvaiableDirectSlots = 0;
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.IsAvailable.ShouldBeFalse();
            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
Esempio n. 12
0
        public async Task <ActionResult> AddForGroup(int projectid, int?characterGroupId)
        {
            if (characterGroupId == null)
            {
                var project = await ProjectRepository.GetProjectAsync(projectid);

                return(RedirectToAction("AddForGroup",
                                        new { project.ProjectId, project.RootGroup.CharacterGroupId }));
            }
            var field = await ProjectRepository.GetGroupAsync(projectid, characterGroupId.Value);

            if (field == null)
            {
                return(HttpNotFound());
            }
            return(View("Add", AddClaimViewModel.Create(field, CurrentUserId)));
        }
        public void NonPublicFieldsShouldNotBeShownOnCharacters()
        {
            var field = Mock.CreateField(new ProjectField()
            {
                IsPublic = false, CanPlayerEdit = false
            });
            var value = new FieldWithValue(field, "xxx");

            Mock.Character.JsonData = new[] { value }.SerializeFields();

            var vm        = AddClaimViewModel.Create(Mock.Character, Mock.Player.UserId);
            var fieldView = vm.Fields.Field(field);

            _ = fieldView.ShouldNotBeNull();
            fieldView.ShouldBeHidden();
            fieldView.ShouldBeReadonly();
        }
Esempio n. 14
0
        public async Task <ActionResult> AddForGroup(int projectid, int characterGroupId)
        {
            var field = await ProjectRepository.GetGroupAsync(projectid, characterGroupId);

            return(WithEntity(field.Project) ?? View("Add", AddClaimViewModel.Create(field, GetCurrentUser())));
        }