Exemplo n.º 1
0
 public Tome Update(UpdateTome cmd, ItemSource baseItem)
 {
     Id       = cmd.TomeId;
     Text     = cmd.Text;
     BaseItem = baseItem;
     return(this);
 }
Exemplo n.º 2
0
        public virtual ActionResult EditSend(UpdateTome cmd)
        {
            DomainRegistry.Repository.Execute(cmd);

            TempData["Result"] = "Tome Id " + cmd.TomeId + " saved successfully.";
            return(RedirectToAction(MVC.Tome.List()));
        }
Exemplo n.º 3
0
        public void Should_throw_error_when_base_item_id_is_invalid(int id)
        {
            var cmd = new UpdateTome {
                Text = "tome text", TomeId = 1, BaseItemId = id
            };

            Assert.That(() => Repository.Execute(cmd),
                        Throws.TypeOf <DomainException>().With.Message.EqualTo("Base item id must be greater than 0"));
        }
Exemplo n.º 4
0
        public void Should_throw_error_when_text_is_invalid(string text)
        {
            var cmd = new UpdateTome {
                Text = text, TomeId = 1, BaseItemId = 1
            };

            Assert.That(() => Repository.Execute(cmd),
                        Throws.TypeOf <DomainException>().With.Message.EqualTo("No text was provided for the tome"));
        }
Exemplo n.º 5
0
        public void Should_throw_error_when_tome_is_not_found()
        {
            const int id  = 1;
            var       cmd = new UpdateTome {
                Text = "tome text", TomeId = id, BaseItemId = 1
            };

            Assert.That(() => Repository.Execute(cmd),
                        Throws.TypeOf <DomainException>().With.Message.EqualTo($"Tome with ID {id} was not found"));
        }
Exemplo n.º 6
0
        public void Should_throw_error_when_new_base_item_is_not_found()
        {
            const int tomeId     = 1;
            const int baseItemId = 2;

            new TomeBuilder().With(cr => cr.Id, tomeId)
            .With(cr => cr.Text, "First Tome")
            .BuildAndSave();

            var cmd = new UpdateTome {
                Text = "tome text", TomeId = tomeId, BaseItemId = baseItemId
            };

            Assert.That(() => Repository.Execute(cmd),
                        Throws.TypeOf <DomainException>().With.Message.EqualTo($"Base item with ID {baseItemId} was not found"));
        }
Exemplo n.º 7
0
        public void Should_update_existing_tome()
        {
            new TomeBuilder().With(cr => cr.Id, 7)
            .With(cr => cr.Text, "First Tome")
            .With(cr => cr.BaseItem, new ItemSourceBuilder().With(cr => cr.Id, 195).BuildAndSave())
            .BuildAndSave();

            new ItemSourceBuilder().With(cr => cr.Id, 200).BuildAndSave();

            var cmdEdit = new UpdateTome {
                TomeId = 7, Text = "new text123", BaseItemId = 200
            };

            Assert.That(() => Repository.Execute(cmdEdit), Throws.Nothing);

            var editedTome = DataContext.AsQueryable <Tome>().FirstOrDefault(cr => cr.Id == 7);

            Assert.That(editedTome, Is.Not.Null);
            Assert.That(editedTome.Id, Is.EqualTo(7));
            Assert.That(editedTome.Text, Is.EqualTo("new text123"));
            Assert.That(editedTome.BaseItem.Id, Is.EqualTo(200));
        }