public async void PostScream_RightData_ReturnSuccessful() { // arrange const string CONTENT = "TEST: NEW SCREAM CONTENT SUCCESSFUL"; Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager( _db, redisConn); Screams.Models.NewScreamtion fakerNewScream = new Screams.Models.NewScreamtion { AuthorId = FakeUser.Id, Content = CONTENT }; // act var result = await screamsManager.PostScreamAsync(fakerNewScream); var id = result.Data; var newScream = _db.Screams.AsNoTracking().SingleOrDefault(s => s.Id == id); // assert Assert.True(result.Succeeded); Assert.True(id > 0); Assert.NotNull(newScream); Assert.Equal(newScream.Content, CONTENT); }
public async void PostScream_NotExistAuthor_ReturnUnsuccessful() { // arrange const int ERRORS_COUNT = 1; const string ERRORS_CONTENT = "该作者不存在"; var fakerAuthor = new ScreamBackend.DB.Tables.User { Id = 0 }; Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager( _db, redisConn); Screams.Models.NewScreamtion fakerNewScream = new Screams.Models.NewScreamtion { AuthorId = fakerAuthor.Id, Content = "TEST: NEW SCREAM CONTENT UNSUCCESSFUL" }; // act var result = await screamsManager.PostScreamAsync(fakerNewScream); // assert Assert.False(result.Succeeded); Assert.Equal(result.Data, NOT_DATA); Assert.NotNull(result.Errors); Assert.Equal(result.Errors.Count, ERRORS_COUNT); Assert.Equal(result.Errors[0], ERRORS_CONTENT); }
public async void RemoveComment_InvalidCommentId_ThrowException(int commentId) { // arrange Screams.Screams.IScreamsManager mockScreamsManager = new Screams.Screams.DefaultScreamsManager(_db, redisConn); Screams.Screams.Scream mockScream = await mockScreamsManager.GetScreamAsync(SCREAM_ID); // act Task actual() => mockScream.RemoveCommentAsync(commentId); // assert await Assert.ThrowsAsync <ArgumentOutOfRangeException>(actual); }
public async void RemoveComment_ExistCommentId_ReturnSuccessful(int commentId) { // arrange Screams.Screams.IScreamsManager mockScreamsManager = new Screams.Screams.DefaultScreamsManager(_db, redisConn); Screams.Screams.Scream mockScream = await mockScreamsManager.GetScreamAsync(SCREAM_ID); // act var result = await mockScream.RemoveCommentAsync(commentId); // assert Assert.True(result.Succeeded); }
public async void GetFullContent_ExistScreamId_ReturnFullContent() { // arrange const string EXPECT_CONTENT = "TEST: SCREAM ITEM_5"; Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager(_db, redisConn); var scream = await screamsManager.GetScreamAsync(SCREAM_ID); // act string actualContent = scream.FullContent; // assert Assert.Equal(EXPECT_CONTENT, actualContent); }
public async void Remove_ReturnSuccessful(int screamId) { // arrange Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager ( _db, redisConn ); // act var result = await screamsManager.RemoveAsync(screamId); // assert Assert.True(result.Succeeded); }
public async void GetScream_InvalidId_ReturnNull() { // arrange const int INVALID_ID = -1; Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager ( _db, redisConn ); // act var scream = await screamsManager.GetScreamAsync(INVALID_ID); // assert Assert.Null(scream); }
public async void GetScream_NotExistId_ReturnNull() { // arrange const int NOT_EXIST_ID = 10111; Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager ( _db, redisConn ); // act var scream = await screamsManager.GetScreamAsync(NOT_EXIST_ID); // assert Assert.Null(scream); }
public async void PostComment_RightComment_ReturnSuccessful() { // arrange Screams.Screams.IScreamsManager mockScreamsManager = new Screams.Screams.DefaultScreamsManager(_db, redisConn); var mockScream = await mockScreamsManager.GetScreamAsync(SCREAM_ID); Screams.Models.NewComment fakerComment = new Screams.Models.NewComment { Author = FakeUser, Content = "TEST: RIGTH COMMENT" }; // act var result = await mockScream.PostCommentAsync(fakerComment); // assert Assert.True(result.Succeeded); }
public async void PostComment_NullAuthor_ReturnUnsuccessful() { // arrange Screams.Screams.IScreamsManager mockScreamsManager = new Screams.Screams.DefaultScreamsManager(_db, redisConn); ICommentsManager mockCommentsManager = new DefaultCommentsManager(_db); var mockScream = await mockScreamsManager.GetScreamAsync(1); Screams.Models.NewComment fakerComment = new Screams.Models.NewComment { Author = null, Content = "TEST: RIGHT COMMENT" }; // act Task actual() => mockScream.PostCommentAsync(fakerComment); // assert await Assert.ThrowsAsync <NullReferenceException>(actual); }
public async void GetScreams_FirstPageIndexAndSize_ReturnFullDataOfPage() { // arrange const int INDEX = 1; const int SIZE = 10; const int TOTAL_PAGE = 2; Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager ( _db, redisConn ); // act var screams = await screamsManager.GetScreamsAsync(INDEX, SIZE); // assert Assert.Equal(screams.Index, INDEX); Assert.Equal(screams.Size, SIZE); Assert.Equal(screams.TotalSize, FakerScreamModels.Count); Assert.Equal(screams.TotalPage, TOTAL_PAGE); Assert.Equal(screams.List.Count, SIZE); }
public async void GetScreams_ThirdPageIndexAndSize_ReturnEmptyList() { // arrange const int INDEX = 3; const int SIZE = 10; const int TOTAL_PAGE = 2; const int RETURN_SIZE = 0; Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager ( _db, redisConn ); // act var screams = await screamsManager.GetScreamsAsync(INDEX, SIZE); // assert Assert.Equal(screams.Index, INDEX); Assert.Equal(screams.Size, SIZE); Assert.Equal(screams.TotalSize, FakerScreamModels.Count); Assert.Equal(screams.TotalPage, TOTAL_PAGE); Assert.Equal(screams.List.Count, RETURN_SIZE); }
public async void GetComments_RightIndexAndSize_ReturnPaging(int index, int size) { // arrange const int SCREAM_ID = 5; const int EXPECT_TOTAL_SIZE = 25; const int EXPECT_TOTAL_PAGE = 3; CreateComments(SCREAM_ID); ICommentsManager commentsManager = new DefaultCommentsManager(_db); Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager(_db, redisConn); var scream = await screamsManager.GetScreamAsync(SCREAM_ID); // act var paging = await commentsManager.GetCommentsAsync(scream, index, size); // assert Assert.Equal(index, paging.Index); Assert.Equal(size, paging.Size); Assert.Equal(EXPECT_TOTAL_SIZE, paging.TotalSize); Assert.Equal(EXPECT_TOTAL_PAGE, paging.TotalPage); Assert.Equal(size, paging.List.Count); }
public async void PostScream_EmptyContentData_ReturnUnsuccessful() { // arrange const int ERRORS_COUNT = 1; const string ERRORS_CONTENT = "内容不能为空"; Screams.Screams.IScreamsManager screamsManager = new Screams.Screams.DefaultScreamsManager( _db, redisConn); Screams.Models.NewScreamtion fakerNewScream = new Screams.Models.NewScreamtion { AuthorId = FakeUser.Id, Content = "" }; // act var result = await screamsManager.PostScreamAsync(fakerNewScream); // assert Assert.False(result.Succeeded); Assert.Equal(result.Data, NOT_DATA); Assert.NotNull(result.Errors); Assert.Equal(result.Errors.Count, ERRORS_COUNT); Assert.Equal(result.Errors[0], ERRORS_CONTENT); }
public async void PostComment_EmptyContent_ReturnUnsuccessful() { // arrange const int ERROR_COUNT = 1; const string ERROR = "评论内容不能为空"; Screams.Screams.IScreamsManager mockScreamsManager = new Screams.Screams.DefaultScreamsManager(_db, redisConn); var mockScream = await mockScreamsManager.GetScreamAsync(SCREAM_ID); Screams.Models.NewComment fakerComment = new Screams.Models.NewComment { Author = FakeUser, Content = "" }; // act var result = await mockScream.PostCommentAsync(fakerComment); // assert Assert.False(result.Succeeded); Assert.Equal(result.Errors.Count, ERROR_COUNT); Assert.Equal(result.Errors.First(), ERROR); }