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(); }
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(); }
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(); }
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()))); }