public async void ValidateInputModel() { UserManager <ApplicationUser> userManager = MockUserManager(); var mockSubscribesService = new Mock <ISubscribesService>(); SubscribesController controller = new SubscribesController( userManager, mockSubscribesService.Object).WithIdentity(FirstTestUserId, "TestUser"); ActionResult <SubscribeResponseModel> result = await controller.Subscribe(null); Assert.IsType <BadRequestResult>(result.Result); result = await controller.Subscribe(new SubscribeInputModel() { UserId = null, Follow = true, }); Assert.IsType <BadRequestResult>(result.Result); result = await controller.Subscribe(new SubscribeInputModel() { UserId = FirstTestUserId, Follow = true, }); Assert.IsType <BadRequestResult>(result.Result); }
public async void TestSubscribeFunctionality() { UserManager <ApplicationUser> userManager = MockUserManager(); var mockSubscribesService = new Mock <ISubscribesService>(); mockSubscribesService.Setup(x => x.ManageUserSubsctibe(FirstTestUserId, SecondTestUserId, true)) .ReturnsAsync(true); mockSubscribesService.Setup(x => x.ManageUserSubsctibe(FirstTestUserId, SecondTestUserId, false)) .ReturnsAsync(false); SubscribesController controller = new SubscribesController( userManager, mockSubscribesService.Object).WithIdentity(FirstTestUserId, "TestUser"); ActionResult <SubscribeResponseModel> result = await controller.Subscribe(null); Assert.IsType <BadRequestResult>(result.Result); result = await controller.Subscribe(new SubscribeInputModel() { UserId = SecondTestUserId, Follow = true, }); Assert.True(result.Value.Result); result = await controller.Subscribe(new SubscribeInputModel() { UserId = SecondTestUserId, Follow = false, }); Assert.False(result.Value.Result); }
public async Task Get_Subscriptions_Success() { // Arrange var fakeSubId = 1; var fakeChatId = 1; var fakeSub = GetSubscribeFake(fakeSubId, fakeChatId); List <Subscribe> fakeSubscribes = new List <Subscribe>() { fakeSub }; _subscribeRepositoryMock.Setup(x => x.GetSubscribersAsync(It.IsAny <int>())) .Returns(Task.FromResult(fakeSubscribes.Select(x => x.ChatId).ToList())); // Act var subController = new SubscribesController( _subscribeRepositoryMock.Object ); var actionResult = await subController.GetSubscribersAsync(fakeSub.BotId); // Assert Assert.AreEqual((actionResult.Result as OkObjectResult).StatusCode, (int)System.Net.HttpStatusCode.OK); Assert.AreEqual((((ObjectResult)actionResult.Result).Value as List <int>), fakeSubscribes.Select(x => x.ChatId).ToList()); }
public void CheckControllerDecoratedWithValidateAntiForgeryToken() { UserManager <ApplicationUser> userManager = MockUserManager(); var mockSubscribesService = new Mock <ISubscribesService>(); SubscribesController controller = new SubscribesController( userManager, mockSubscribesService.Object).WithIdentity(FirstTestUserId, "TestUser"); var type = controller.GetType(); var methodInfo = type.GetMethod("Subscribe", new Type[] { typeof(SubscribeInputModel) }); var attributes = methodInfo.GetCustomAttributes(typeof(ValidateAntiForgeryTokenAttribute), true); Assert.True(attributes.Any(), "No ValidateAntiForgeryTokenAttribute found on Index method"); }
public async Task Subscribe_With_Null_Subscription_Should_Return_Bad_Request() { // Arrange Subscribe subscription = null; _subscribeRepositoryMock.Setup(x => x.SubscribeAsync(It.IsAny <Subscribe>())); // Act var subController = new SubscribesController( _subscribeRepositoryMock.Object ); var actionResult = await subController.SubscribeAsync(subscription) as BadRequestResult; // Assert Assert.NotNull(actionResult); }
public async Task Delete_Subscription_Success() { // Arrange var fakeBotName = "name"; var fakeChatId = 1; _subscribeRepositoryMock.Setup(x => x.DeleteSubscriptionAsync(It.IsAny <string>(), It.IsAny <int>())) .Returns(Task.FromResult(true)); // Act var subController = new SubscribesController( _subscribeRepositoryMock.Object ); var actionResult = await subController.DeleteSubscribeAsync(fakeBotName, fakeChatId) as NoContentResult; // Assert Assert.NotNull(actionResult); }
public async Task Get_Subscriptions_With_Empty_List_Success() { // Arrange var fakeBotId = 1; _subscribeRepositoryMock.Setup(x => x.GetSubscribersAsync(It.IsAny <int>())) .Returns(Task.FromResult(new List <int>())); // Act var subController = new SubscribesController( _subscribeRepositoryMock.Object ); var actionResult = await subController.GetSubscribersAsync(fakeBotId); // Assert Assert.AreEqual((actionResult.Result as OkObjectResult).StatusCode, (int)System.Net.HttpStatusCode.OK); Assert.IsEmpty(((ObjectResult)actionResult.Result).Value as List <int>); }
public async Task Delete_With_Zero_Chat_Id_Should_Return_Bad_Request() { // Arrange var fakeBotName = "name"; var fakeChatId = 0; _subscribeRepositoryMock.Setup(x => x.DeleteSubscriptionAsync(It.IsAny <string>(), It.IsAny <int>())); // Act var subController = new SubscribesController( _subscribeRepositoryMock.Object ); var actionResultEmpty = await subController.DeleteSubscribeAsync(fakeBotName, fakeChatId) as BadRequestResult; // Assert Assert.NotNull(actionResultEmpty); }
public async Task Subscribe_With_Success() { // Arrange var fakeSubId = 1; var fakeChatId = 1; var fakeSub = GetSubscribeFake(fakeSubId, fakeChatId); _subscribeRepositoryMock.Setup(x => x.SubscribeAsync(It.IsAny <Subscribe>())); // Act var subController = new SubscribesController( _subscribeRepositoryMock.Object ); var actionResult = await subController.SubscribeAsync(fakeSub) as OkResult; // Assert Assert.NotNull(actionResult); }
public async Task Get_Subscriptions_With_LessOrZero_Id_Should_Return_Bad_Request() { // Arrange var fakeBotId = 0; var fakeBotIdLess = -1; _subscribeRepositoryMock.Setup(x => x.GetSubscribersAsync(It.IsAny <int>())); // Act var subController = new SubscribesController( _subscribeRepositoryMock.Object ); var actionResult = (await subController.GetSubscribersAsync(fakeBotId)).Result as BadRequestResult; var actionResultLess = (await subController.GetSubscribersAsync(fakeBotIdLess)).Result as BadRequestResult; // Assert Assert.NotNull(actionResult); Assert.NotNull(actionResultLess); }
public async Task Delete_With_Null_Or_Empty_Bot_Name_Should_Return_Bad_Request() { // Arrange var fakeBotNameEmpty = string.Empty; string fakeBotNameNull = null; var fakeChatId = 123; _subscribeRepositoryMock.Setup(x => x.DeleteSubscriptionAsync(It.IsAny <string>(), It.IsAny <int>())); // Act var subController = new SubscribesController( _subscribeRepositoryMock.Object ); var actionResultEmpty = await subController.DeleteSubscribeAsync(fakeBotNameEmpty, fakeChatId) as BadRequestResult; var actionResultNull = await subController.DeleteSubscribeAsync(fakeBotNameNull, fakeChatId) as BadRequestResult; // Assert Assert.NotNull(actionResultEmpty); Assert.NotNull(actionResultNull); }