public void RegisterUserShouldFailWithSameUsername() { //arrange var toRegister = new RegisterInputModel { Password = "******", ConfirmPassword = "******", Email = "*****@*****.**", Username = "******" }; var user = new GetShreddedUser { Email = "*****@*****.**", UserName = "******" }; this.userManager.CreateAsync(user).GetAwaiter(); this.Context.SaveChanges(); //act this.roleService.CreateAsync(new IdentityRole { Name = GlobalConstants.DefaultRole }).GetAwaiter(); var result = this.userService.RegisterUser(toRegister).GetAwaiter().GetResult(); //assert result.Should().BeEquivalentTo(SignInResult.Failed); }
public void LogUser_Should_Return_Sucess() { //arrange var user = new GetShreddedUser { UserName = "******", }; string userPassword = "******"; this.userManager.CreateAsync(user).GetAwaiter().GetResult(); this.userManager.AddPasswordAsync(user, userPassword).GetAwaiter().GetResult(); this.Context.SaveChanges(); //act var loginUser = new LoginInputModel { Password = userPassword, Username = user.UserName }; var result = this.userService.LogUser(loginUser); //assert result.Should().BeEquivalentTo(SignInResult.Success); }
public void DeleteUserShouldDeleteUserByGivenId() { //arrange var user = new GetShreddedUser { Id = "UserIdTests", UserName = "******", FirstName = "UserFirstNameTests", LastName = "UserLastNameTests", }; var secondUser = new GetShreddedUser { Id = "SecondUserIdTests", UserName = "******", FirstName = "SecondUserFirstNameTests", LastName = "SecondUserLastNameTests", }; this.userManager.CreateAsync(user).GetAwaiter(); this.userManager.CreateAsync(secondUser).GetAwaiter(); this.Context.SaveChanges(); //act string userToDeleteId = user.Id; this.adminService.DeleteUser(userToDeleteId); //assert var users = this.Context.Users.ToList(); users.Should().ContainSingle().And.Subject.Should().NotContain(user); }
public void AddPageShouldAddNewPageToDiary() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var page = new Page { Id = 2, Content = "Content", UserId = user.Id, GetShreddedUser = user, GetShreddedDiary = diary, GetShreddedDiaryId = diary.Id, Title = "Title", CreatedOn = DateTime.UtcNow }; var newPage = new PageInputModel { User = user.UserName, Content = "Some New Content", CreatedOn = DateTime.Now, DiaryId = diary.Id, Title = "New Page" }; userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.Add(page); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act this.pageService.AddPage(newPage); //assert var result = this.Context.Pages.OrderBy(x => x.CreatedOn).Last(x => x.GetShreddedDiaryId == diary.Id); result.Should().NotBeNull() .And.Subject.As <Page>() .Title.Should().BeSameAs(newPage.Title); }
public void DeleteCommentShouldDeleteComment() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var type = new DiaryType { Id = 1, Name = "Cutting" }; var diary = new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, Type = type, UserId = "UserId" }; var comment = new Comment { GetShreddedDiaryId = 1, GetShreddedUser = user, GetShreddedDiary = diary, CommentedOn = DateTime.Now.Date, Message = "Comment", GetShreddedUserId = user.Id, Id = 1 }; var userManager = (UserManager <GetShreddedUser>) this.Provider.GetService(typeof(UserManager <GetShreddedUser>)); userManager.CreateAsync(user).GetAwaiter(); this.Context.Comments.Add(comment); this.Context.DiaryTypes.Add(type); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act this.CommentService.DeleteComment(1); var result = this.Context.Comments.ToList(); //assert result.Should().BeEmpty(); }
public void EditPageShouldEditPageContentOrTitle() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var page = new Page { Id = 1, Content = "Content", UserId = user.Id, GetShreddedUser = user, GetShreddedDiary = diary, GetShreddedDiaryId = diary.Id, Title = "Title", CreatedOn = DateTime.UtcNow }; var record = new PageEditModel { User = user.UserName, Content = "Some New Content", CreatedOn = page.CreatedOn, Id = page.Id, DiaryId = diary.Id, Title = "New Title" }; userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.Add(page); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act this.pageService.EditPage(record); //assert var result = this.Context.Pages.ProjectTo <PageEditModel>().FirstOrDefault(x => x.Id == page.Id); result.Should().NotBeNull().And.Subject.Should().BeEquivalentTo(record); }
public void GetPageToEditByIdShouldReturnThePageEditModelById() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var page = new Page { Id = 1, Content = "SomeContent", UserId = user.Id, GetShreddedUser = user, GetShreddedDiary = diary, GetShreddedDiaryId = diary.Id, Title = "Title", CreatedOn = DateTime.UtcNow }; var record = new PageEditModel { User = user.UserName, Content = page.Content, CreatedOn = page.CreatedOn, Id = page.Id, DiaryId = diary.Id, Title = page.Title }; userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.Add(page); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act int pageId = page.Id; var result = this.pageService.GetPageToEditById(pageId); //assert result.Should().NotBeNull().And.Subject.Should().BeEquivalentTo(record); }
public void AddRatingShouldThrowExceptionIfAlreadyRatedIsTrue() { //arrange var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title" }; var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var rating = new DiaryRating { Rating = 8, GetShreddedUserId = user.Id, Id = 1, GetShreddedUser = user }; var diaryRating = new GetShreddedRating { GetShreddedDiaryId = diary.Id, DiaryRatingId = rating.Id, GetShreddedDiary = diary, DiaryRating = rating }; var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); usermanager.CreateAsync(user).GetAwaiter(); this.Context.GetShreddedDiaries.Add(diary); this.Context.DiaryRatings.Add(rating); this.Context.GetShreddedRatings.Add(diaryRating); this.Context.SaveChanges(); //act var diaryService = GetService(); Action act = () => diaryService.AddRating(diary.Id, 1, user.UserName); //assert act.Should().Throw <InvalidOperationException>().WithMessage(GlobalConstants.AlreadyRated); }
public void DeleteDiaryShouldBeSuccessfulForAdmin() { //arrange var firstUser = new GetShreddedUser { Id = "FirstId", UserName = "******", }; var secondUser = new GetShreddedUser { Id = "SecondId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title", UserId = secondUser.Id, }; var role = new IdentityRole { Name = "admin" }; var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); var roleManager = this.Provider.GetRequiredService <RoleManager <IdentityRole> >(); usermanager.CreateAsync(secondUser).GetAwaiter(); usermanager.CreateAsync(firstUser).GetAwaiter(); roleManager.CreateAsync(role).GetAwaiter(); usermanager.AddToRoleAsync(firstUser, "admin").GetAwaiter(); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act var diaryService = GetService(); diaryService.DeleteDiary(diary.Id, firstUser.UserName).GetAwaiter(); //assert var result = this.Context.GetShreddedDiaries.FirstOrDefault(); result.Should().BeNull(); }
public void AllMessageSeenShouldChangeForAllMessagesIsReadenToTrue() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var messages = new[] { new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 1, Text = "It works?", }, new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 2, Text = "It works two?", } }; this.Context.Messages.AddRange(messages); this.userManager.CreateAsync(user).GetAwaiter().GetResult(); this.Context.SaveChanges(); //act string username = user.UserName; this.messageService.AllMessagesSeen(username); //assert var messagesFromDatabase = this.Context.Messages.Where(x => x.ReceiverId == user.Id).ToArray(); messagesFromDatabase .Select(x => x.IsReaded.Should() .NotBeFalse()) .Should().HaveCount(2); }
public void DeleteMessageShouldDeleteOnlyTheMessageWithGivenId() { var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var messages = new[] { new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 1, Text = "It works?", }, new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 2, Text = "It works?two", } }; this.Context.Messages.AddRange(messages); this.userManager.CreateAsync(user).GetAwaiter().GetResult(); this.Context.SaveChanges(); //act int messageId = messages[0].Id; this.messageService.DeleteMessage(messageId); //assert var messagesFromDatabase = this.Context.Messages.Where(x => x.ReceiverId == user.Id).ToArray(); int singleMessageIdShouldBe = 2; messagesFromDatabase.Should() .ContainSingle() .And.Subject.Should() .Contain(x => x.Id == singleMessageIdShouldBe); }
public void ChangeRoleShouldFailWithNonExistantRole() { //arrange var roles = new[] { "admin", "user" }; foreach (var currentRolename in roles) { var role = new IdentityRole { Name = currentRolename }; this.roleManager.CreateAsync(role).GetAwaiter(); } var user = new GetShreddedUser { Id = "UserIdTests", UserName = "******", FirstName = "UserFirstNameTests", LastName = "UserLastNameTests", }; this.userManager.CreateAsync(user).GetAwaiter(); this.Context.SaveChanges(); //act string newRole = "RoleTests"; var model = new ChangeRoleModel { Id = user.Id, ApplicationRoles = roles, UpdatedRole = newRole, Username = user.UserName, Role = GlobalConstants.DefaultRole }; var methodResult = this.adminService.ChangeRole(model); //assert methodResult.Should().Equals(IdentityResult.Failed()); }
public async Task FollowShouldCreateUserDiaryEntityInDatabase() { //arrange var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title" }; var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; this.Context.GetShreddedDiaries.Add(diary); var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); await usermanager.CreateAsync(user); this.Context.SaveChanges(); //act var diaryService = GetService(); var diaryId = diary.Id; var username = user.UserName; var userId = user.Id; await diaryService.Follow(username, userId, diaryId); //assert var result = this.Context.GetShreddedUserDiaries.FirstOrDefault(); var userDiary = new GetShreddedUserDiary { GetShreddedUserId = user.Id, GetShreddedDiaryId = diary.Id }; result.Should().BeOfType <GetShreddedUserDiary>().And.Subject.Should().Equals(userDiary); }
public void DeleteAllNotificationsShouldRemoveAllNotificationsForUserByUsername() { //arrange var user = new GetShreddedUser { Id = "OneId", UserName = "******" }; var notifications = new[] { new Notification { GetShreddedUser = user, GetShreddedUserId = user.Id, Seen = false, Message = GlobalConstants.NotificationMessage, UpdatedDiaryId = 1 }, new Notification { GetShreddedUser = user, GetShreddedUserId = user.Id, Seen = false, Message = GlobalConstants.NotificationMessage, UpdatedDiaryId = 2 } }; this.userManager.CreateAsync(user).GetAwaiter().GetResult(); this.Context.Notifications.AddRange(notifications); this.Context.SaveChanges(); //act string username = user.UserName; this.notificationService.DeleteAllNotifications(username); //assert var userNotifications = this.Context.Notifications.Count(); int expectedCount = 0; userNotifications.Should().Be(expectedCount); }
public async Task AddRatingShouldAddRatingToADiary() { //arrange var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title" }; var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); await usermanager.CreateAsync(user); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act var diaryService = GetService(); diaryService.AddRating(diary.Id, 10, user.UserName); //assert var diaryRating = new GetShreddedRating { GetShreddedDiaryId = 1, DiaryRatingId = 1 }; var result = this.Context.GetShreddedRatings.FirstOrDefault(); result.Should().NotBeNull().And. Subject.Should() .BeOfType <GetShreddedRating>().And.Should() .BeEquivalentTo(diaryRating, opt => opt.ExcludingMissingMembers()); }
public void DeleteAllMessagesShouldDeleteAllMessagesForUser() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var messages = new[] { new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 1, Text = "It works?", }, new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 2, Text = "It works two?", } }; this.Context.Messages.AddRange(messages); this.userManager.CreateAsync(user).GetAwaiter().GetResult(); this.Context.SaveChanges(); //act string userId = user.Id; this.messageService.DeleteAllMessages(userId); //assert var messagesFromDb = this.Context.Messages.Where(x => x.ReceiverId == user.Id).ToArray(); messagesFromDb.Should().BeEmpty(); }
public void NewMessagesShouldReturnTheCountOfMessagesWhereIsReadenIsFalse() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var messages = new[] { new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 1, Text = "It works?", }, new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 2, Text = "It works?two", } }; this.Context.Messages.AddRange(messages); this.userManager.CreateAsync(user).GetAwaiter().GetResult(); this.Context.SaveChanges(); //act string userId = user.Id; int count = this.messageService.NewMessages(userId); int expectedCount = messages.Count(); //assert count.Should().BePositive().And.Subject.Should().Be(expectedCount); }
public void NewNotifications_Should_Return_User_By_Username_Notifications_Where_Seen_IsFalse() { var user = new GetShreddedUser { Id = "OneId", UserName = "******" }; var notifications = new[] { new Notification { GetShreddedUser = user, GetShreddedUserId = user.Id, Seen = false, Message = GlobalConstants.NotificationMessage, UpdatedDiaryId = 1 }, new Notification { GetShreddedUser = user, GetShreddedUserId = user.Id, Seen = false, Message = GlobalConstants.NotificationMessage, UpdatedDiaryId = 2 } }; this.userManager.CreateAsync(user).GetAwaiter().GetResult(); this.Context.Notifications.AddRange(notifications); this.Context.SaveChanges(); //act string username = user.UserName; var count = this.notificationService.NewNotifications(username); //assert int countExpected = notifications.Count(); count.Should().Be(countExpected); }
public void AddCommentShouldAddComment() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var userManager = (UserManager <GetShreddedUser>) this.Provider.GetService(typeof(UserManager <GetShreddedUser>)); userManager.CreateAsync(user).GetAwaiter(); this.Context.SaveChanges(); var comment = new CommentInputModel { DiaryId = 1, CommentUser = "******", CommentedOn = DateTime.Now.Date, Message = "Comment", }; var commentOut = new CommentOutputModel { Id = 1, User = "******", CommentedOn = DateTime.Now.Date, Message = "Comment", DiaryId = comment.DiaryId }; //act this.CommentService.AddComment(comment); //assert var result = this.Context.Comments.First(); var mappedResult = Mapper.Map <CommentOutputModel>(result); mappedResult.Should().BeEquivalentTo(commentOut); }
public async Task FollowShouldThrowOperationExceptionWhenTryToAddDuplicateEntity() { //arrange var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title" }; var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; this.Context.GetShreddedDiaries.Add(diary); var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); await usermanager.CreateAsync(user); this.Context.SaveChanges(); //act var storyService = GetService(); var diaryId = diary.Id; var username = user.UserName; var userId = user.Id; await storyService.Follow(username, userId, diaryId); //assert Action act = () => storyService.Follow(username, userId, diaryId).GetAwaiter().GetResult(); string message = string.Join(GlobalConstants.AlreadyFollow, user.UserName); act.Should().Throw <InvalidOperationException>().WithMessage(message); }
public void DeleteUserShouldThrowArgumentException() { //arrange var user = new GetShreddedUser { Id = "userId", UserName = "******", FirstName = "UserFirstNameTests", LastName = "UserLastNameTests", }; this.userManager.CreateAsync(user).GetAwaiter(); this.Context.SaveChanges(); //act string userToDeleteId = "RandomIdTests"; Func <Task> act = async() => await this.adminService.DeleteUser(userToDeleteId); //assert act.Should().Throw <ArgumentException>().WithMessage(GlobalConstants.ErrorOnDeleteUser); }
public void DeleteDiaryShouldThrowExceptionWithAdminAndUserBoolsFalse() { //arrange var firstUser = new GetShreddedUser { Id = "FirstId", UserName = "******", }; var secondUser = new GetShreddedUser { Id = "SecondId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title", UserId = secondUser.Id, }; var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); usermanager.CreateAsync(firstUser).GetAwaiter(); usermanager.CreateAsync(secondUser).GetAwaiter(); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act var diaryService = GetService(); Func <Task> act = async() => await diaryService.DeleteDiary(diary.Id, firstUser.UserName); //assert act.Should().Throw <OperationCanceledException>(); }
private async Task SeedRoles( UserManager <GetShreddedUser> userManager, RoleManager <IdentityRole> roleManager) { await roleManager.CreateAsync(new IdentityRole { Name = GlobalConstants.Admin }); var user = new GetShreddedUser { UserName = "******", Email = "*****@*****.**", FirstName = "FirstAdmin", LastName = "LastAdmin" }; string password = "******"; await userManager.CreateAsync(user, password); await userManager.AddToRoleAsync(user, GlobalConstants.Admin); }
public void SenMessageShouldCreateNewMessage() { //arrange var sender = new GetShreddedUser { Id = "SenderId", UserName = "******" }; var receiver = new GetShreddedUser { Id = "ReceiverId", UserName = "******" }; var message = new MessageInputModel { SenderName = sender.UserName, ReceiverName = receiver.UserName, SendDate = DateTime.UtcNow, Message = "It works!!", }; this.userManager.CreateAsync(receiver).GetAwaiter().GetResult(); this.userManager.CreateAsync(sender).GetAwaiter().GetResult(); this.Context.SaveChanges(); //act this.messageService.SendMessage(message); //assert var result = this.Context.Messages.FirstOrDefault(); result.Should().NotBeNull(); result?.SenderId.Should().Be(sender.Id); result?.ReceiverId.Should().Be(receiver.Id); }
public void DeleteDiaryShouldThrowExceptionForNullNotExistingDiaryOnDelete() { //arrange var firstUser = new GetShreddedUser { Id = "FirstId", UserName = "******", }; var secondUser = new GetShreddedUser { Id = "SecondId", UserName = "******", }; var role = new IdentityRole { Name = "admin" }; var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); var roleManager = this.Provider.GetRequiredService <RoleManager <IdentityRole> >(); usermanager.CreateAsync(secondUser).GetAwaiter(); usermanager.CreateAsync(firstUser).GetAwaiter(); roleManager.CreateAsync(role).GetAwaiter(); usermanager.AddToRoleAsync(firstUser, "admin").GetAwaiter(); this.Context.SaveChanges(); //act var diaryService = GetService(); Func <Task> act = async() => await diaryService.DeleteDiary(1, firstUser.UserName); //assert act.Should().ThrowAsync <InvalidOperationException>().Wait(); }
public void MessageSeenShouldChangeMessageIsReadenPropertyToTrue() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var message = new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 1, Text = "It works?", }; this.Context.Messages.Add(message); this.userManager.CreateAsync(user).GetAwaiter().GetResult(); this.Context.SaveChanges(); //act int messageId = message.Id; this.messageService.MessageSeen(messageId); //assert var result = this.Context.Messages.Find(messageId); result.Should() .NotBeNull() .And.Subject.As <Message>() .IsReaded .Should().BeTrue(); }
public void DeletePageUserShouldDeletePage() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var pages = new[] { new Page { Id = 1, GetShreddedUser = user, GetShreddedDiary = diary, UserId = user.Id, GetShreddedDiaryId = diary.Id, Content = "Content", Title = "Title", CreatedOn = DateTime.UtcNow }, new Page { Id = 2, GetShreddedUser = user, GetShreddedDiary = diary, UserId = user.Id, GetShreddedDiaryId = diary.Id, Content = "Some New Content", Title = "New Page", CreatedOn = DateTime.Now, } }; var role = new IdentityRole { Name = GlobalConstants.Admin }; roleManager.CreateAsync(role).GetAwaiter(); userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.AddRange(pages); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act int diaryId = diary.Id; int pageId = pages[0].Id; string username = user.UserName; this.pageService.DeletePage(diaryId, pageId, username); //assert var result = this.Context.Pages.First(); var pageLeft = pages[1]; result.Should().NotBeNull() .And.Subject.As <Page>().Title.Should().BeEquivalentTo(pageLeft.Title); }
public void DeletePageShouldThrowInvalidOperationException() { //arrange var firstUser = new GetShreddedUser { Id = "FirstUserId", UserName = "******", }; var secondUser = new GetShreddedUser { Id = "SecondUserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = secondUser, Summary = "Summary", Title = "Title", UserId = "UserId", }; var pages = new[] { new Page { Id = 1, GetShreddedUser = secondUser, GetShreddedDiary = diary, UserId = secondUser.Id, GetShreddedDiaryId = diary.Id, Content = "Content", Title = "Title", CreatedOn = DateTime.UtcNow }, new Page { Id = 2, GetShreddedUser = secondUser, GetShreddedDiary = diary, UserId = secondUser.Id, GetShreddedDiaryId = diary.Id, Content = "Some New Content", Title = "New Page", CreatedOn = DateTime.Now, } }; var role = new IdentityRole { Name = GlobalConstants.DefaultRole }; roleManager.CreateAsync(role).GetAwaiter(); userManager.CreateAsync(secondUser).GetAwaiter(); userManager.CreateAsync(firstUser).GetAwaiter(); this.Context.Pages.AddRange(pages); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act int diaryId = diary.Id; int pageId = pages[0].Id; string username = firstUser.UserName; Action act = () => this.pageService.DeletePage(diaryId, pageId, username); //assert string message = GlobalConstants.UserHasNoRights + " " + GlobalConstants.NotUser; act.Should().Throw <InvalidOperationException>().WithMessage(message); }
public void InformationReturningCorrectMesssagesAndNotificationsForUser() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var messages = new[] { new Message { IsReaded = true, ReceiverId = user.Id, Receiver = user, Id = 1, Text = "It works?", }, new Message { IsReaded = false, ReceiverId = user.Id, Receiver = user, Id = 2, Text = "It works two?", } }; var notifications = new[] { new Notification { GetShreddedUser = user, GetShreddedUserId = user.Id, Message = "boom", Seen = false, }, new Notification { GetShreddedUser = user, GetShreddedUserId = user.Id, Message = "boom", Seen = false, } }; this.Context.Messages.AddRange(messages); this.Context.Notifications.AddRange(notifications); this.userManager.CreateAsync(user).GetAwaiter().GetResult(); this.Context.SaveChanges(); //act string username = user.UserName; var result = this.messageService.Information(username); //assert result.Should().BeOfType <InformationViewModel>(); result.Notifications.As <IEnumerable <NotificationOutputModel> >() .Should().NotBeEmpty().And.HaveCount(2) .And.ContainItemsAssignableTo <NotificationOutputModel>(); result.OldMessages.As <IEnumerable <MessageOutputModel> >() .Should().NotBeEmpty().And.HaveCount(1) .And.ContainItemsAssignableTo <MessageOutputModel>(); result.NewMessages.As <IEnumerable <MessageOutputModel> >() .Should().NotBeEmpty().And.HaveCount(1) .And.ContainItemsAssignableTo <MessageOutputModel>(); }
public void DeletePageShouldThrowArgumentException() { var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var diaryTwo = new GetShreddedDiary { Id = 2, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var pages = new[] { new Page { Id = 1, GetShreddedUser = user, GetShreddedDiary = diary, UserId = user.Id, GetShreddedDiaryId = diary.Id, Content = "Content", Title = "Title", CreatedOn = DateTime.UtcNow }, new Page { Id = 2, GetShreddedUser = user, GetShreddedDiary = diaryTwo, UserId = user.Id, GetShreddedDiaryId = diaryTwo.Id, Content = "Some New Content", Title = "New Page", CreatedOn = DateTime.Now, } }; userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.AddRange(pages); this.Context.GetShreddedDiaries.Add(diary); this.Context.GetShreddedDiaries.Add(diaryTwo); this.Context.SaveChanges(); //act int diaryId = diary.Id; int pageId = pages[1].Id; string username = user.UserName; Action act = () => this.pageService.DeletePage(diaryId, pageId, username); //assert string message = string.Join(GlobalConstants.NotValidPageDiaryConnection, diaryId, pageId); act.Should().Throw <ArgumentException>().WithMessage(message); }