ivaylokenov

Untitled

Nov 18th, 2019
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.99 KB | None | 0 0
  1. [Theory]
  2. [InlineData("Article Title", "Article Content")]
  3. public void CreatePostShouldSaveArticleSetModelStateMessageAndRedirectWhenValidModelState(string title, string content)
  4.     => MyController<ArticlesController>                                       // Specify the controller under test.
  5.         .Instance()                                                           // Create it from the globally registered services.
  6.         .Calling(c => c.Create(new ArticleFormModel                           // Specify the action under test and provide valid model.
  7.         {
  8.             Title = title,
  9.             Content = content
  10.         }))
  11.         .ShouldHave()
  12.         .ValidModelState()                                                    // Assert valid model state.
  13.         .AndAlso()                                                            // Provide additional assertions.
  14.         .ShouldHave()                  
  15.         .Data(data => data                                                    // Assert the database.
  16.             .WithSet<Article>(set =>                                          // Assert the Article database set.
  17.             {
  18.                 set.ShouldNotBeEmpty();
  19.                 set.SingleOrDefault(a => a.Title == title).ShouldNotBeNull(); // Validate our article is saved.
  20.             }))
  21.         .AndAlso()                                                            // Provide additional assertions.
  22.         .ShouldHave()
  23.         .TempData(tempData => tempData                                        // Validate the TempData success message..
  24.             .ContainingEntryWithKey(ControllerConstants.SuccessMessage))
  25.         .AndAlso()                                                            // Provide additional assertions.
  26.         .ShouldReturn()
  27.         .Redirect(redirect => redirect                                        // Validate redirect result.
  28.             .To<UsersController>(c => c.Mine()));                             // Validate correct redirect to action.
Advertisement
Add Comment
Please, Sign In to add comment