public async void AddStudent_ReturnsOkResult() { //Setup var sampleJediStudent = new JediStudent(); sampleJediStudent.Id = 1; sampleJediStudent.Name = "Luke Skywalker"; sampleJediStudent.Height = "172"; sampleJediStudent.Mass = "77"; sampleJediStudent.Species = "0"; sampleJediStudent.Planet = "0"; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.Send(It.IsAny <AddStudent.CreateRequest>(), It.IsAny <CancellationToken>())).ReturnsAsync(() => (true, sampleJediStudent, null)); // Initiate var controller = new IndividualsController(mediator.Object); var request = new AddStudent.CreateRequest(); // Result var resultObj = await controller.CreateStudent(request); var okResult = resultObj.Result as OkObjectResult; // Test Assert.NotNull(okResult); Assert.Equal(200, okResult.StatusCode); Assert.Equal(sampleJediStudent, okResult.Value); }
public async void GetStudents_ReturnsOkResult() { //Setup var sampleJediStudent = new JediStudent(); sampleJediStudent.Id = 1; sampleJediStudent.Name = "Luke Skywalker"; sampleJediStudent.Height = "172"; sampleJediStudent.Mass = "77"; sampleJediStudent.Species = "0"; sampleJediStudent.Planet = "0"; var jediStudents = new List <JediStudent>(); jediStudents.Add(sampleJediStudent); var mediator = new Mock <IMediator>(); mediator.Setup(x => x.Send(It.IsAny <GetStudents.Query>(), It.IsAny <CancellationToken>())).ReturnsAsync(() => (true, jediStudents, null)); // Initiate var controller = new IndividualsController(mediator.Object); // Result var resultObj = await controller.Get(); var okResult = resultObj as OkObjectResult; // Test Assert.NotNull(okResult); Assert.Equal(200, okResult.StatusCode); Assert.Equal(jediStudents, okResult.Value); }
public async void PostEditNegativeBreedId() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Edit(2, new Individual(2, "Fido", -1)); CheckMessage(result, $"The Breed ID must be between 1 and {int.MaxValue}."); } }
public async void PostCreateNullName() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Create(new Individual()); CheckMessage(result, "An Individual must have a name."); } }
public async void PostEditNotFound() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Edit(50, new Individual(50, "Test Individual Modified", 2)); CheckMessage(result, "The selected Individual could not be found."); } }
public async void PostEditNullBreedId() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Edit(2, new Individual { Id = 2, Name = "Fido" }); CheckMessage(result, "You must select a Breed for this Individual."); } }
public async void PostCreateZeroBreedId() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Create(new Individual("Test Individual 11", 0)); CheckMessage(result, "You must select a Breed for this Individual."); } }
public async void PostEditNoName() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Edit(2, new Individual(2, string.Empty, 2)); CheckMessage(result, "An Individual must have a name."); } }
public async void GetDeleteNullId() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Delete(null); CheckMessage(result, "The Individual ID provided was invalid."); } }
public async void PostEditZeroId() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Edit(0, new Individual()); CheckMessage(result, $"The Individual ID must be between 1 and {int.MaxValue}."); } }
public async void PostEditMismatchedIds() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Edit(1, new Individual { Id = 2 }); CheckMessage(result, "The Individual ID provided was invalid."); } }
public async void GetDeleteNegativeId() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Delete(-1); CheckMessage(result, $"The Individual ID must be between 1 and {int.MaxValue}."); } }
public async void GetDeleteNotFound() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Delete(50); CheckMessage(result, "The selected Individual could not be found."); } }
public async void PostEditBreedDoesntExist() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Edit(2, new Individual(2, "Fido", 100)); CheckMessage(result, "The selected Breed could not be found."); } }
public async void PostDeleteConfirmNegativeId() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.DeleteConfirmed(-1); RedirectToActionResult redirect = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Index", redirect.ActionName); } }
public async void GetIndex() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Index(); ViewResult viewResult = Assert.IsType <ViewResult>(result); IEnumerable <Individual> individuals = Assert.IsAssignableFrom <IEnumerable <Individual> >(viewResult.ViewData.Model); Assert.Equal(database.Context.Individuals.Count(), individuals.Count()); } }
public IndividualsControllerUnitTests() { _individualRepoMock = new Mock <IIndividualRepository>(); _mapperMock = new Mock <IMapper>(); var uowFactoryMock = new Mock <IUnitOfWorkFactory>(); var uowMock = new Mock <IUnitOfWork>(); uowFactoryMock.Setup(f => f.Create()).Returns(uowMock.Object); uowMock.Setup(f => f.GetRepository <IIndividualRepository>()).Returns(_individualRepoMock.Object); _sut = new IndividualsController( uowFactoryMock.Object, _mapperMock.Object); }
public async void GetEditFound() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Edit(2); IndividualViewModel viewModel = CheckViewModel(result); Individual individual = database.Context.Individuals.SingleOrDefault(i => i.Id == 2); Assert.Equal(2, viewModel.Individual.Id); Assert.Equal(individual.Name, viewModel.Individual.Name); Assert.NotEmpty(viewModel.Breeds); } }
public void GetCreate() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = controller.Create(); IndividualViewModel viewModel = CheckViewModel(result); Assert.Equal(0, viewModel.Individual.Id); Assert.Equal(0, viewModel.Individual.Breed.Id); Assert.True(string.IsNullOrEmpty(viewModel.Individual.Name)); Assert.NotEmpty(viewModel.Breeds); } }
public async void GetDeleteFound() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Delete(10); IndividualViewModel viewModel = CheckViewModel(result); Individual individual = database.Context.Individuals.SingleOrDefault(i => i.Id == 10); Assert.Equal(10, viewModel.Individual.Id); Assert.Equal(individual.Name, viewModel.Individual.Name); Assert.Equal(individual.BreedId, viewModel.Individual.Breed.Id); } }
public async void PostCreateSuccess() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Create(new Individual("Test Individual Success", 1)); RedirectToActionResult redirect = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Index", redirect.ActionName); Individual individual = database.Context.Individuals.SingleOrDefault(i => i.Name == "Test Individual Success"); Assert.False(individual == null); } }
public async void PostDeleteConfirmSuccess() { using (var database = new TestDb()) { Assert.True(database.Context.Individuals.Any(i => i.Id == 3)); var controller = new IndividualsController(database.Context); IActionResult result = await controller.DeleteConfirmed(3); RedirectToActionResult redirect = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Index", redirect.ActionName); Assert.False(database.Context.Individuals.Any(i => i.Id == 3)); } }
public async void PostEditSaved() { using (var database = new TestDb()) { var controller = new IndividualsController(database.Context); IActionResult result = await controller.Edit(6, new Individual(6, "Modified Individual", 4)); RedirectToActionResult redirect = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Index", redirect.ActionName); Individual individual = database.Context.Individuals.SingleOrDefault(b => b.Id == 6); Assert.Equal("Modified Individual", individual.Name); } }
public async void AddStudent_ReturnsErrorResult() { // Setup var mediator = new Mock <IMediator>(); mediator.Setup(x => x.Send(It.IsAny <AddStudent.CreateRequest>(), It.IsAny <CancellationToken>())).ReturnsAsync(() => (false, null, "Database error")); // Initiate var controller = new IndividualsController(mediator.Object); var request = new AddStudent.CreateRequest(); // Result var resultObj = await controller.CreateStudent(request); var errorResult = resultObj.Result as ObjectResult; // Test Assert.NotNull(errorResult); Assert.Equal(500, errorResult.StatusCode); Assert.Equal("Database error", errorResult.Value); }
public async void GetStudents_ReturnsNotFoundResult() { // Setup var jediStudents = new List <JediStudent>(); var mediator = new Mock <IMediator>(); mediator.Setup(x => x.Send(It.IsAny <GetStudents.Query>(), It.IsAny <CancellationToken>())).ReturnsAsync(() => (false, jediStudents, "No Jedi Students found")); // Initiate var controller = new IndividualsController(mediator.Object); // Result var resultObj = await controller.Get(); var notFoundResult = resultObj as NotFoundObjectResult; // Test Assert.NotNull(notFoundResult); Assert.Equal(404, notFoundResult.StatusCode); Assert.Equal("No Jedi Students found", notFoundResult.Value); }