public void Create_FeedbackPassed_FeedbackCreated() { // Arrange var newFeedback = new FeedbackBuilder() .Build(); var emailMessage = new EmailMessageBuilder().Build(); MockMailService(emailMessage); MockUserService(); var sut = BuildSUT(); // Act sut.Create(newFeedback); // Assert VerifyCreateFeedback( newFeedback, Times.Once(), "Parameter feedback is not equal to Instance of feedback"); VerifySaveFeedback( newFeedback, Times.Once(), "DB should not be updated"); }
public void Reply_NoReplyRights_DbNotChanged() { // Arrange MockAuthServiceThrowsException(AuthOperations.Feedbacks.Reply); var feedback = new FeedbackBuilder().WithId(EXISTING_ID).Build(); var sut = BuildSUT(); // Act sut.Reply(EXISTING_ID, MESSAGE); // Assert VerifyEditFeedback(feedback, Times.Never()); VerifyCheckAccess(AuthOperations.Feedbacks.Reply, Times.Once()); }
public void GetDetails_NewFeedback_UpdatedFeedbackStatusToRead() { // Arrange var feedback = new FeedbackBuilder().WithId(EXISTING_ID).Build(); MockGetFeedbackByIdQuery(feedback); var sut = BuildSUT(); // Act sut.GetDetails(EXISTING_ID); // Assert VerifyEditFeedback(feedback, Times.Once()); }
public void GetById_FeedbackExists_FeedbackReturned() { // Arrange var expected = new FeedbackBuilder().WithId(EXISTING_ID).Build(); MockGetFeedbackByIdQuery(expected); var sut = BuildSUT(); // Act var actual = sut.Get(EXISTING_ID); // Assert TestHelper.AreEqual <Feedback>(expected, actual, new FeedbackComparer()); }
public void GetDetails_NoReadRights_DbNotChanged() { // Arrange var feedback = new FeedbackBuilder().WithId(EXISTING_ID).Build(); MockAuthServiceThrowsException(AuthOperations.Feedbacks.Read); var sut = BuildSUT(); // Act sut.GetDetails(EXISTING_ID); // Assert VerifyEditFeedback(feedback, Times.Never()); VerifyCheckAccess(AuthOperations.Feedbacks.Read, Times.Once()); }
public void Close_NewFeedback_UpdatedFeedbackStatusToClose() { // Arrange var feedback = new FeedbackBuilder().WithId(EXISTING_ID).Build(); MockGetFeedbackByIdQuery(feedback); MockCurrentUser(VALID_USER_ID); var sut = BuildSUT(); // Act sut.Close(EXISTING_ID); // Assert VerifyEditFeedback(feedback, Times.Once()); }
public void Close_NoCloseRights_DbNotChanged() { // Arrange var feedback = new FeedbackBuilder().WithId(EXISTING_ID).Build(); MockAuthServiceThrowsException(AuthOperations.Feedbacks.Close); var sut = BuildSUT(); // Act Action act = () => sut.Close(EXISTING_ID); // Assert act.Should().Throw <AuthorizationException>(); VerifyEditFeedback(feedback, Times.Never()); VerifyCheckAccess(AuthOperations.Feedbacks.Close, Times.Once()); }
public void Reply_ClosedFeedback_DbNotChanged() { // Arrange var feedback = new FeedbackBuilder() .WithId(EXISTING_ID) .WithStatus(FeedbackStatusEnum.Closed) .Build(); MockGetFeedbackByIdQuery(feedback); MockCurrentUser(VALID_USER_ID); var sut = BuildSUT(); // Act sut.Reply(EXISTING_ID, MESSAGE); // Assert VerifyEditFeedback(feedback, Times.Never()); }
public void Reply_ClosedFeedback_InvalidOperationExceptionThrown() { // Arrange var feedback = new FeedbackBuilder() .WithId(EXISTING_ID) .WithStatus(FeedbackStatusEnum.Closed) .Build(); MockGetFeedbackByIdQuery(feedback); MockCurrentUser(VALID_USER_ID); var sut = BuildSUT(); // Act => Assert Assert.Throws <InvalidOperationException>( () => sut.Reply(EXISTING_ID, MESSAGE), "Feedback status can't be changed to this status"); }
public void Reply_NewFeedback_UpdatedFeedbackStatusToAnswered() { // Arrange var feedback = new FeedbackBuilder().WithId(EXISTING_ID).Build(); MockGetFeedbackByIdQuery(feedback); var emailMessage = new EmailMessageBuilder().Build(); MockMailService(emailMessage); MockCurrentUser(VALID_USER_ID); var sut = BuildSUT(); // Act sut.Reply(EXISTING_ID, MESSAGE); // Assert VerifyEditFeedback(feedback, Times.Once()); }
public void Close_NewFeedback_LastUpdateInfoSet() { // Arrange var feedback = new FeedbackBuilder() .WithId(EXISTING_ID) .Build(); MockGetFeedbackByIdQuery(feedback); MockCurrentUser(VALID_USER_ID); var sut = BuildSUT(); // Act sut.Close(EXISTING_ID); // Assert VerifyAdminName(feedback, TEST_NAME); VerifyEditFeedback(feedback, Times.Once()); }
public void Update_FeedbackPassed_FeedbackUpdated() { // Arrange var actual = new FeedbackBuilder() .Build(); var expected = new FeedbackBuilder() .WithDate(_feedbackTestDate) .Build(); MockUserService(); var sut = BuildSUT(); // Act sut.Create(actual); // Assert AssertFeedbackAreEquals(expected, actual); }
public void Close_ClosedFeedback_InvalidOperationExceptionThrown() { // Arrange var feedback = new FeedbackBuilder() .WithId(EXISTING_ID) .WithStatus(FeedbackStatusEnum.Closed) .Build(); MockGetFeedbackByIdQuery(feedback); MockCurrentUser(VALID_USER_ID); var sut = BuildSUT(); // Act Action act = () => sut.Close(EXISTING_ID); //Assert act.Should().Throw <InvalidOperationException>("Feedback status can't be changed to this status"); }
public void Reply_NewFeedback_LastUpdateInfoSet() { // Arrange var feedback = new FeedbackBuilder().WithId(EXISTING_ID).Build(); MockGetFeedbackByIdQuery(feedback); var emailMessage = new EmailMessageBuilder().Build(); MockMailService(emailMessage); MockCurrentUser(VALID_USER_ID); var sut = BuildSUT(); // Act sut.Reply(EXISTING_ID, MESSAGE); // Assert VerifyAdminName(feedback, TEST_NAME); VerifyEditFeedback(feedback, Times.Once()); }
public void Reply_ClosedFeedback_DbNotChanged() { // Arrange var feedback = new FeedbackBuilder() .WithId(EXISTING_ID) .WithStatus(FeedbackStatusEnum.Closed) .Build(); MockGetFeedbackByIdQuery(feedback); MockCurrentUser(VALID_USER_ID); var sut = BuildSUT(); // Act Action act = () => sut.Reply(EXISTING_ID, MESSAGE); // Assert act.Should().Throw <InvalidOperationException>(); VerifyEditFeedback(feedback, Times.Never()); }