public async Task CreateEditDeleteAsync() { var userStoreMock = new Mock <IUserStore <ApplicationUser> >(); // Arrange var bankAccountController = new BankAccountController(new UserManager <ApplicationUser>(userStoreMock.Object, null, null, null, null, null, null, null, null)); var transactionController = new TransactionController(new UserManager <ApplicationUser>(userStoreMock.Object, null, null, null, null, null, null, null, null)); var bankAccount = new BankAccount(); var result = await bankAccountController.Create(bankAccount); // Assert Assert.IsType <RedirectToActionResult>(result); // Arrange var bankAccountId = bankAccount.Id; // Act var transactionViewModel = new TransactionViewModel { BankAccountId = bankAccountId, Amount = "100", IsDeposition = true }; result = await transactionController.Create(transactionViewModel); // Assert Assert.IsType <RedirectToActionResult>(result); var transactionId = transactionViewModel.Id; // Act result = await transactionController.Details(transactionId); // Assert Assert.IsType <ViewResult>(result); // Act result = await transactionController.Edit(transactionId); // Assert Assert.IsType <ViewResult>(result); // Act result = await transactionController.Edit(transactionId, transactionViewModel); // Assert Assert.IsType <RedirectToActionResult>(result); // Act result = await bankAccountController.DeleteConfirmed(bankAccountId); // Assert Assert.IsType <RedirectToActionResult>(result); }