Example #1
0
        public void PostCritterWithNameTooLong_ThrowsExceptionWithErrorStatus()
        {
            var form = new CritterForm {
                Name = string.Join(" ", Enumerable.Repeat("John", 50))
            };
            var exception = Assert.Throws <BadRequestException <IErrorStatus> >(() => Client.Critters.Post(form));

            Assert.That(exception.Body, Is.Not.Null);
            Assert.That(exception.Body.Message, Is.EqualTo("Critter can't have name longer than 50 characters."));
            Assert.That(exception.Body.ErrorCode, Is.EqualTo(1337));
        }
Example #2
0
        public void PostUsingOverloadTakingFormObject()
        {
            const string critterName = "Lonely critter boy";
            var          critterForm = new CritterForm
            {
                Name = critterName
            };

            var critterResource = Client.Critters.Post(critterForm);

            Assert.That(critterResource.Name, Is.EqualTo(critterName));
        }
Example #3
0
        public void PostCritter_SetIntPropertyExposedAsStringToValidNumber_UpdatesEntityProperty()
        {
            var form = new CritterForm()
            {
                Name = "The postbear", IntExposedAsString = "348738"
            };
            var resource = Client.Critters.Post(form);

            Assert.That(resource.IntExposedAsString, Is.EqualTo("348738"));
            var entity = CritterEntities.Single(x => x.Id == resource.Id);

            Assert.That(entity.IntExposedAsString, Is.EqualTo(348738));
        }
Example #4
0
        public void SerializeCritterForm_WithReferences()
        {
            var critterForm = new CritterForm
            {
                Name       = "Sheep",
                CrazyValue = new CrazyValueObjectForm {
                    Info = "blblbobobo", Sickness = "whawhahaha"
                }
            };

            critterForm.Weapons.Add(new GunForm());

            var jobject = SerializeAndGetJsonObject(critterForm);

            Assert.That(jobject.AssertHasPropertyWithString("name"), Is.EqualTo("Sheep"));
            jobject.AssertHasPropertyWithObject("crazyValue");
        }
Example #5
0
 public void PostCritter_SetIntPropertyExposedAsStringToValidNumber_UpdatesEntityProperty()
 {
     var form = new CritterForm() { Name = "The postbear", IntExposedAsString = "348738" };
     var resource = Client.Critters.Post(form);
     Assert.That(resource.IntExposedAsString, Is.EqualTo("348738"));
     var entity = CritterEntities.Single(x => x.Id == resource.Id);
     Assert.That(entity.IntExposedAsString, Is.EqualTo(348738));
 }
Example #6
0
        public void PostUsingOverloadTakingFormObject()
        {
            const string critterName = "Lonely critter boy";
            var critterForm = new CritterForm
            {
                Name = critterName
            };

            var critterResource = Client.Critters.Post(critterForm);
            Assert.That(critterResource.Name, Is.EqualTo(critterName));
        }
Example #7
0
 public void PostCritterWithNameTooLong_ThrowsExceptionWithErrorStatus()
 {
     var form = new CritterForm { Name = string.Join(" ", Enumerable.Repeat("John", 50)) };
     var exception = Assert.Throws<BadRequestException<IErrorStatus>>(() => Client.Critters.Post(form));
     Assert.That(exception.Body, Is.Not.Null);
     Assert.That(exception.Body.Message, Is.EqualTo("Critter can't have name longer than 50 characters."));
     Assert.That(exception.Body.ErrorCode, Is.EqualTo(1337));
 }