예제 #1
0
        public void EditQueryWithTwoParams_WhenSecondParameterIsNull_ShouldRemoveParams()
        {
            // Arrange
            int queryElementsCountBeforeAct           = queriesDbSet.Count();
            int parametersElementsCountBeforeAct      = parametersDbSet.Count();
            int queryParametersElementsCountBeforeAct = queryParametersDbSet.Count();

            int      queryIdBeforeAct          = queriesDbSet.First().SqlQueryId;
            string   queryNameBeforeAct        = queriesDbSet.First().SqlQueryName;
            string   queryContentBeforeAct     = queriesDbSet.First().SqlQueryContent;
            DateTime queryCreatedDateBeforeAct = queriesDbSet.First().SqlQueryCreatedDate;

            string newQueryName    = "new query name";
            string newQueryContent = "new query content";

            int queryParametersCount = queryParametersDbSet
                                       .Where(p => p.SqlQueryId == queriesDbSet.First().SqlQueryId)
                                       .Count();

            SqlQuery queryToUpdate = queriesDbSet.First();

            queryToUpdate.SqlQueryName    = newQueryName;
            queryToUpdate.SqlQueryContent = newQueryContent;

            string[] parameterIds = null;

            // Act
            queryRepo.Edit(queryToUpdate, parameterIds);
            SqlQuery updatedQuery = queriesDbSet.ElementAt(queryToUpdate.SqlQueryId);

            // Assert
            Assert.AreEqual(queryElementsCountBeforeAct, queriesDbSet.Count());
            Assert.AreEqual(parametersElementsCountBeforeAct, parametersDbSet.Count());
            Assert.IsTrue(queryParametersElementsCountBeforeAct > queryParametersDbSet.Count());

            Assert.AreEqual(newQueryName, updatedQuery.SqlQueryName);
            Assert.AreEqual(newQueryContent, updatedQuery.SqlQueryContent);
            Assert.AreEqual(queryCreatedDateBeforeAct, updatedQuery.SqlQueryCreatedDate);

            Assert.AreEqual(
                queryParametersElementsCountBeforeAct,
                (queryParametersDbSet.Count() + queryParametersCount)
                );

            Assert.IsTrue(
                queryParametersDbSet
                .Where(p => p.SqlQueryId == queryToUpdate.SqlQueryId)
                .Count() <= 0
                );
        }
예제 #2
0
        public void MappingTest()
        {
            //Arrange
            var dataStorage = new Mock <IDataStorage>();
            var entity      = new Query {
                Id           = 1,
                AnswerAuthor = new User {
                    Id = 11
                },
                AnswerText  = "oldAnswer",
                QueryAuthor = new User {
                    Id = 12
                },
                QueryText = "oldQuestion"
            };
            var updatedEntity = new Query {
                Id           = 1,
                AnswerAuthor = new User {
                    Id = 21
                },
                AnswerText  = "newAnswer",
                QueryAuthor = new User {
                    Id = 22
                },
                QueryText = "newQuestion"
            };
            var repository = new QueryRepository(dataStorage.Object);

            dataStorage.Setup(ds => ds.GetData <Query>()).Returns(new List <Query> {
                entity
            });
            //Act
            repository.Edit(updatedEntity);
            //Assert
            //Values are equal
            Assert.That(entity.AnswerAuthor, Is.EqualTo(updatedEntity.AnswerAuthor));
            Assert.That(entity.AnswerText, Is.EqualTo(updatedEntity.AnswerText));

            Assert.That(entity.QueryAuthor, Is.EqualTo(updatedEntity.QueryAuthor));
            Assert.That(entity.QueryText, Is.EqualTo(updatedEntity.QueryText));
        }
        public void MappingTest()
        {
            //Arrange
            var dataStorage = new Mock<IDataStorage>();
            var entity = new Query {
                Id = 1,
                AnswerAuthor = new User {Id = 11},
                AnswerText = "oldAnswer",
                QueryAuthor = new User {Id = 12},
                QueryText = "oldQuestion"
            };
            var updatedEntity = new Query {
                Id = 1,
                AnswerAuthor = new User {Id = 21},
                AnswerText = "newAnswer",
                QueryAuthor = new User {Id = 22},
                QueryText = "newQuestion"
            };
            var repository = new QueryRepository(dataStorage.Object);

            dataStorage.Setup(ds => ds.GetData<Query>()).Returns(new List<Query> {entity});
            //Act
            repository.Edit(updatedEntity);
            //Assert
            //Values are equal
            Assert.That(entity.AnswerAuthor, Is.EqualTo(updatedEntity.AnswerAuthor));
            Assert.That(entity.AnswerText, Is.EqualTo(updatedEntity.AnswerText));

            Assert.That(entity.QueryAuthor, Is.EqualTo(updatedEntity.QueryAuthor));
            Assert.That(entity.QueryText, Is.EqualTo(updatedEntity.QueryText));
        }