public void EditQuestion_Must_Return_QuestionEditBM_Of_Given_Question() { // Arrange var db = StaticMethods.GetDb(); var discussionsService = new DiscussionsService(db, this.mapper); var testUser = StaticMethods.GetTestUser(); var testQBM = GetTestQuestionBM(Category.AndroidDevelopment); //Act db.Users.Add(testUser); db.SaveChanges(); var addedQuestion = discussionsService.AddQuestion(testQBM, testUser); var editBM = discussionsService.GetQuestionEditBindingModel(addedQuestion.Id, testUser.Id); editBM.Title = "Testing buddy"; editBM.Content = "This must be long string i think"; editBM.Category = Category.JavaScript; editBM.Tags = editBM.Tags + " nice go back"; var result = discussionsService.EditQuestion(editBM, testUser.Id); //Assert Assert.True(result.Id == addedQuestion.Id); Assert.True(result.Title == editBM.Title); Assert.True(result.Category == editBM.Category); Assert.True(result.Tags.Count == 4); Assert.True(result.Tags.Any(x => x.Name == "web")); Assert.True(result.Tags.Any(x => x.Name == "nice")); Assert.True(result.Tags.Any(x => x.Name == "go")); Assert.True(result.Tags.Any(x => x.Name == "back")); }