public void Update()
        {
            using (TransactionScope scope = new TransactionScope())
            {
                var newUser = new User()
                {
                    Login = "******",
                    Password = "******",
                    Email = "*****@*****.**"
                };

                var target = new UserRepository(new EFContext());

                target.Create(newUser);

                var addedUser = target.GetAll().First(x => x.Login.Equals(newUser.Login));

                addedUser.Email = "*****@*****.**";
                addedUser.Password = "******";

                target.Update(addedUser);

                var updatedUser = target.GetAll().First(x => x.Login.Equals(newUser.Login));

                updatedUser.Password.Should().Be(addedUser.Password);
                updatedUser.Email.Should().Be(addedUser.Email);
            }
        }
Example #2
0
        public void Create()
        {
            using (TransactionScope scope = new TransactionScope())
            {
                UserRepository userRepo = new UserRepository(new EFContext());
                TagRepository tagRepo = new TagRepository(new EFContext());
                PopRepository target = new PopRepository(new EFContext());

                userRepo.Create(new User()
                {
                    Login = "******",
                    Password = "******",
                    Email = "*****@*****.**"
                });

                User user = userRepo.GetAll().FirstOrDefault(w => w.Login == "1234");

                tagRepo.Create(new Tag()
                {
                    Name = "Pop"
                });

                Tag tag = tagRepo.GetAll().FirstOrDefault(w => w.Name == "Pop");

                Pop model = new Pop()
                {
                    Title = "New Pop",
                    URL = "New Pop URL",
                    PublishDate = DateTime.Now,
                    Tags = new List<Tag> { tag },
                    User = user
                };

                target.Create(model);

                Pop createdPop = target.GetAll().FirstOrDefault(w => w.Title == model.Title);

                createdPop.Title.Should().Be(model.Title);
                createdPop.URL.Should().Be(model.URL);
                createdPop.PublishDate.Should().Be(model.PublishDate);

                createdPop.Tags.Satisfy(t => t.FirstOrDefault(w => w.Name == "Pop") != null);
                createdPop.User.Login.Should().Be("1234");
            }
        }