Example #1
0
        public async Task UpdateAsync_WithSampleEntity_UpdatesModelInDB()
        {
            var sample = default(FluentData.SampleEntity);

            using (var context = new TestDbContext(options))
            {
                //Arrange
                var repository = new Repository <FluentData.SampleEntity>(context);
                var fluentData = new FluentData(context);
                sample = fluentData.Generate <FluentData.SampleEntity>();
                await fluentData.SaveAsync(sample);

                //Act
                sample.StringField = "NewString";
                await repository.UpdateAsync(sample);
            }
            //Assert
            using (var context = new TestDbContext(options))
            {
                Assert.That(context.Set <FluentData.SampleEntity>().Count(), Is.EqualTo(1));
                FluentData.SampleEntity sampleEntity = context.Set <FluentData.SampleEntity>().Single();
                Assert.That(sampleEntity.StringField, Is.EqualTo("NewString"));
                AssertTwoSamplesAreEqual(sample, sampleEntity);
            }
        }
        public void GenerateSequence_WithCount_ReturnsListOfSameCount()
        {
            //Arrange
            FluentData fluentData = new FluentData();
            //Act
            var sequence = fluentData.GenerateSequence <FluentData.SampleEntity>(5);

            //Assert
            Assert.That(sequence.Count(), Is.EqualTo(5));
        }
Example #3
0
        public async Task PostController_Details_WithId_ReturnsPost()
        {
            ApplicationUser user = null;
            Post            post = null;

            //Arrange
            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                FluentData fluentData = new FluentData(context);

                //create user
                user = fluentData.Generate <ApplicationUser>();
                await fluentData.SaveAsync(user);

                post = fluentData.Generate <Post>();

                //create post
                post.OriginalPoster = user;
                await fluentData.SaveAsync(post);
            }

            //Act
            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                //Create UserRepo mock
                var userRepoMock = new Mock <IUserRepository>();
                userRepoMock.Setup(repo => repo.GetUserAsync(ClaimsPrincipal.Current))
                .Returns(Task.FromResult(user));

                var postsController = new PostsController(context,
                                                          userRepoMock.Object,
                                                          new Repository <Post>(context));

                var result = await postsController.Details(post.Id);

                //Assert
                Assert.IsInstanceOf <ViewResult>(result);
                var viewResult = result as ViewResult;

                //IsAssignableFrom
                Assert.IsInstanceOf <Post>(viewResult.ViewData.Model);
                var model = viewResult.ViewData.Model;
                Assert.That(model, Is.InstanceOf <Post>());
                var readPost = model as Post;

                Assert.AreEqual(readPost.Id, post.Id);
                Assert.That(readPost.Title, Is.EqualTo(post.Title));
            }
        }
        public void Generate_WithPost_ReturnsPost()
        {
            //Arrange
            var fluentData = default(FluentData);

            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                fluentData = new FluentData(context);
            }
            //Act
            var post = fluentData.Generate <Post>();

            //Assert
            Assert.That(post, Is.Not.Null);
            Assert.That(post.Title, Is.Not.Null);
            Assert.That(post.Content, Is.Not.Null);
        }
        public void Generate_WithApplicationUser_ReturnsApplicatoinUser()
        {
            //Arrange
            var fluentData = default(FluentData);

            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                fluentData = new FluentData(context);
            }
            //Act
            var user = fluentData.Generate <ApplicationUser>();

            //Assert
            Assert.That(user, Is.Not.Null);
            Assert.That(user.UserName, Is.Not.Null);
            Assert.That(user.Email, Is.Not.Null);
            Assert.That(user.PasswordHash, Is.Not.Null);
        }
        public async Task SaveAsync_WithSequence_StoresInDB()
        {
            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                //Arrange
                FluentData fluentData = new FluentData(context);
                var        sequence   = fluentData.GenerateSequence <ApplicationUser>(5);

                //Act
                await fluentData.SaveAsync(sequence);
            }

            //Assert
            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                Assert.That(context.Set <ApplicationUser>().Count(), Is.EqualTo(5));
            }
        }
Example #7
0
        public async Task ReadAsync_WithSampleEntity_StoresInDB()
        {
            var sample = default(FluentData.SampleEntity);

            using (var context = new TestDbContext(options))
            {
                //Arrange
                var repository = new Repository <FluentData.SampleEntity>(context);
                var fluentData = new FluentData(context);
                sample = fluentData.Generate <FluentData.SampleEntity>();
                await fluentData.SaveAsync(sample);

                //Act
                var readSample = await repository.ReadAsync(sample.Id);

                //Assert
                AssertTwoSamplesAreEqual(sample, readSample);
            }
        }
Example #8
0
        public async Task ReadAll_ReturnsSequence()
        {
            var samples = default(IEnumerable <FluentData.SampleEntity>);

            using (var context = new TestDbContext(options))
            {
                //Arrange
                var repository = new Repository <FluentData.SampleEntity>(context);
                var fluentData = new FluentData(context);
                samples = fluentData.GenerateSequence <FluentData.SampleEntity>(5);
                await fluentData.SaveAsync(samples);
            }
            using (var context = new TestDbContext(options))
            {
                //Act
                var repository = new Repository <FluentData.SampleEntity>(context);
                var sequence   = repository.ReadAll();

                //Assert
                Assert.That(sequence.Count(), Is.EqualTo(5));
            }
        }
Example #9
0
        public void Create_WithSampleEntity_StoresInDB()
        {
            var sample = default(FluentData.SampleEntity);

            using (var context = new TestDbContext(options))
            {
                //Arrange
                var repository = new Repository <FluentData.SampleEntity>(context);
                var fluentData = new FluentData(context);
                sample = fluentData.Generate <FluentData.SampleEntity>();

                //Act
                repository.Create(sample);
            }
            //Assert
            using (var context = new TestDbContext(options))
            {
                Assert.That(context.Set <FluentData.SampleEntity>().Count(), Is.EqualTo(1));
                FluentData.SampleEntity sampleEntity = context.Set <FluentData.SampleEntity>().Single();
                Assert.That(sampleEntity.Id, Is.Not.EqualTo(Guid.Empty.ToString()));
                AssertTwoSamplesAreEqual(sample, sampleEntity);
            }
        }
        public async Task SaveAsync_WithPost_StoresPostInDB()
        {
            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                //Arrange
                var fluentData = new FluentData(context);
                var user       = fluentData.Generate <ApplicationUser>();
                await fluentData.SaveAsync(user);


                //Act
                var post = fluentData.Generate <Post>();
                post.OriginalPoster = context.Users.Single();
                await fluentData.SaveAsync(post);
            }


            //Assert

            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                Assert.That(context.Posts.Count(), Is.EqualTo(1));
            }
        }
        public async Task Savesync_WithApplicationUser_StoresApplicationInDB()
        {
            //Arrange

            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                var fluentData = new FluentData(context);
                var user       = fluentData.Generate <ApplicationUser>();
                //Act
                await fluentData.SaveAsync(user);
            }


            //Assert
            using (var context = new ApplicationDbContext(inMemoryDatabaseHelper.Options))
            {
                Assert.That(context.Users.Count(), Is.EqualTo(1));
                var user = context.Users.Single();
                Assert.That(user.Id.ToString(), Is.Not.EqualTo(Guid.Empty.ToString()));
                Assert.That(user.UserName, Is.Not.Null);
                Assert.That(user.Email, Is.Not.Null);
                Assert.That(user.PasswordHash, Is.Not.Null);
            }
        }