Пример #1
0
 public void ApprovedClaimFieldVisibilitysTest()
 {
     VerifyClaim(                                                                    //Ensure that
         projectMock.CreateApprovedClaim(projectMock.Character, projectMock.Player), //when claim is approved
         projectMock.Player,                                                         //then the user who created the claim can see only the fields below
         allFieldsExceptMasterOnly);
 }
Пример #2
0
        public void ProperlyShowConditionalHeaderTest()
        {
            var mock  = new MockedProject();
            var claim = mock.CreateApprovedClaim(mock.Character, mock.Player);

            var vm             = new CustomFieldsViewModel(mock.Player.UserId, claim);
            var characterField = vm.FieldById(mock.ConditionalHeader.ProjectFieldId);

            Assert.IsNotNull(characterField);
            Assert.IsTrue(characterField.CanView);
            Assert.IsNull(characterField.Value);

            Assert.IsTrue(characterField.CanEdit);
        }
        public void ApprovedClaimHiddenChangeTest()
        {
            var mock  = new MockedProject();
            var claim = mock.CreateApprovedClaim(mock.Character, mock.Player);

            FieldSaveHelper.SaveCharacterFields(
                mock.Player.UserId,
                claim,
                new Dictionary <int, string>()
            {
                { mock.HideForUnApprovedClaim.ProjectFieldId, "test" },
                { mock.CharacterField.ProjectFieldId, null }
            },
                generator);
            Assert.AreEqual(
                $"{{\"{mock.HideForUnApprovedClaim.ProjectFieldId}\":\"test\",\"{mock.PublicField.ProjectFieldId}\":\"Public\"}}",
                mock.Character.JsonData);
            Assert.AreEqual("{}", claim.JsonData);
        }
Пример #4
0
        public void ApprovedClaimChangeTest()
        {
            _original  = new MockedProject();
            _generator = new MockedFieldDefaultValueGenerator();
            var mock  = new MockedProject();
            var claim = mock.CreateApprovedClaim(mock.Character, mock.Player);

            FieldSaveHelper.SaveCharacterFields(
                mock.Player.UserId,
                claim,
                new Dictionary <int, string>()
            {
                { mock.CharacterField.ProjectFieldId, "test" },
            },
                _generator);

            mock.Character.FieldValuesShouldBe(new FieldWithValue(mock.CharacterField, "test"));

            ShouldBeTestExtensions.ShouldBe(claim.JsonData, "{}");
        }
Пример #5
0
        public void SkipOptionalField()
        {
            _original  = new MockedProject();
            _generator = new MockedFieldDefaultValueGenerator();
            var mock = new MockedProject();

            mock.CharacterField.MandatoryStatus = MandatoryStatus.Optional;

            var claim = mock.CreateApprovedClaim(mock.Character, mock.Player);

            var exception = Should.NotThrow(() =>
                                            FieldSaveHelper.SaveCharacterFields(
                                                mock.Player.UserId,
                                                claim,
                                                new Dictionary <int, string>()
            {
                { mock.CharacterField.ProjectFieldId, "" },
            },
                                                _generator));

            mock.Character.JsonData.ShouldBe("{}");
        }
Пример #6
0
        public void TryToSkipMandatoryField()
        {
            _original  = new MockedProject();
            _generator = new MockedFieldDefaultValueGenerator();
            var mock = new MockedProject();

            mock.CharacterField.MandatoryStatus = MandatoryStatus.Required;

            var claim = mock.CreateApprovedClaim(mock.Character, mock.Player);

            var exception = Should.Throw <FieldRequiredException>(() =>
                                                                  FieldSaveHelper.SaveCharacterFields(
                                                                      mock.Player.UserId,
                                                                      claim,
                                                                      new Dictionary <int, string>()
            {
                { mock.CharacterField.ProjectFieldId, "" },
            },
                                                                      _generator));

            exception.FieldName.ShouldBe(mock.CharacterField.FieldName);
        }
Пример #7
0
        public void ApprovedClaimHiddenChangeTest()
        {
            _original  = new MockedProject();
            _generator = new MockedFieldDefaultValueGenerator();
            var mock  = new MockedProject();
            var claim = mock.CreateApprovedClaim(mock.Character, mock.Player);

            var publicField = new FieldWithValue(mock.PublicField, "Public");

            MockedProject.AssignFieldValues(claim, publicField);

            _ = FieldSaveHelper.SaveCharacterFields(
                mock.Player.UserId,
                claim,
                new Dictionary <int, string?>()
            {
                { mock.HideForUnApprovedClaim.ProjectFieldId, "test" },
                { mock.CharacterField.ProjectFieldId, null },
            },
                _generator);

            mock.Character.FieldValuesShouldBe(new FieldWithValue(mock.HideForUnApprovedClaim, "test"), publicField);
            ShouldBeTestExtensions.ShouldBe(claim.JsonData, "{}");
        }