public void PutAsync_Failed_LabelIsNullOrWhiteSpace(string labelName) { var mockLabelRepo = new Mock <ILabelRepository>(); var mockLogger = new Mock <ILogger <LabelsController> >(); var mockMapper = new Mock <IMapper>(); var labelModel = new Models.Label { Id = 1, Name = "LabelA" }; mockLabelRepo.Setup(x => x.GetLabelAsync(It.IsAny <int>())).Returns(Task.FromResult(labelModel)); // Arrange var controller = new LabelsController(mockLogger.Object, mockMapper.Object, mockLabelRepo.Object); // Act var label = new DTOs.Label { Id = 1, Name = labelName }; var response = controller.PutAsync(1, label); // Assert var result = response.Result.Result as ObjectResult; result.StatusCode.ShouldBe(400); result.Value.ShouldBe($"Label could be neither null nor whitespace."); }
public void Initialize() { var options = new DbContextOptionsBuilder <LibraryContext>() .UseSqlite("DataSource=C:/Users/denny/Desktop/Cloud Applications/Test_New_Objective_API_Layers_v2/test_db") .Options; using (var context = new LibraryContext(options)) { context.Database.OpenConnection(); context.Database.EnsureCreated(); context.Objectives.Add(new Objective() { Id = 1, Description = "test objective 1" }); context.Labels.Add(new Label() { Id = 1, Feature = "test label 1" }); } _facade_obj = new ObjectiveFacade(new LibraryContext(options)); _controller_obj = new ObjectivesController(_facade_obj); _facade_lbl = new LabelFacade(new LibraryContext(options)); _controller_lbl = new LabelsController(_facade_lbl); }
public void PostAsync_Failed_LabelExisted() { var mockLabelRepo = new Mock <ILabelRepository>(); var mockLogger = new Mock <ILogger <LabelsController> >(); var mockMapper = new Mock <IMapper>(); var labels = new List <Models.Label>() { new Models.Label { Name = "LabelA" }, new Models.Label { Name = "LabelB" } }; mockLabelRepo.Setup(x => x.GetLabelsAsync()).Returns(Task.FromResult(labels.AsEnumerable())); // Arrange var controller = new LabelsController(mockLogger.Object, mockMapper.Object, mockLabelRepo.Object); // Act var label = new DTOs.Label { Name = "LabelA" }; var response = controller.PostAsync(label); // Assert var result = response.Result.Result as ObjectResult; result.StatusCode.ShouldBe(400); result.Value.ShouldBe($"Label '{label.Name}' already exists, cannot create."); }
void Awake() { if (LCInstance == null) { LCInstance = this; } else if (LCInstance != this) { LCInstance = this; } }
public async void Details_CallsGetByIdOnce() { // Arrange var repoMock = new Mock <IRepository <Label> >(); repoMock.Setup(repo => repo.GetById(It.IsAny <int>())).ReturnsAsync(_testLabel1); var controller = new LabelsController(repoMock.Object); // Act await controller.Details(_testLabel1.Id); // Assert repoMock.Verify(repo => repo.GetById(It.IsAny <int>()), Times.Once); }
public async void Details_ReturnsNotFound_WhenLabelIsNull() { // Arrange var repoMock = new Mock <IRepository <Label> >(); repoMock.Setup(repo => repo.GetById(It.IsAny <int>())).ReturnsAsync(null as Label); var controller = new LabelsController(repoMock.Object); // Act var result = await controller.Details(null); // Assert Assert.IsType <NotFoundResult>(result); }
public async void Details_ReturnsCorrectView() { // Arrange var repoMock = new Mock <IRepository <Label> >(); repoMock.Setup(repo => repo.GetById(It.IsAny <int>())).ReturnsAsync(_testLabel1); var controller = new LabelsController(repoMock.Object); // Act var result = (ViewResult)await controller.Details(_testLabel1.Id); // Assert Assert.Null(result.ViewName); }
public async void Index_CallsGetAllAsListOnce() { // Arrange var repoMock = new Mock <IRepository <Label> >(); repoMock.Setup(repo => repo.GetAllAsList()).ReturnsAsync(new List <Label> { }); var controller = new LabelsController(repoMock.Object); // Act await controller.Index(); // Assert repoMock.Verify(repo => repo.GetAllAsList(), Times.Once); }
public async void Index_ReturnsCorrectView() { // Arrange var repoMock = new Mock <IRepository <Label> >(); repoMock.Setup(repo => repo.GetAllAsList()).ReturnsAsync(new List <Label> { }); var controller = new LabelsController(repoMock.Object); // Act var result = (ViewResult)await controller.Index(); // Assert Assert.Null(result.ViewName); }
public async void Index_ReturnsCorrectList() { // Arrange var list = new List <Label> { _testLabel1, _testLabel2 }; var repoMock = new Mock <IRepository <Label> >(); repoMock.Setup(repo => repo.GetAllAsList()).ReturnsAsync(list); var controller = new LabelsController(repoMock.Object); // Act var result = (ViewResult)await controller.Index(); // Assert Assert.Equal(list, result.Model); }
public void PostAsync_Failed_LabelIsNull() { var mockLabelRepo = new Mock <ILabelRepository>(); var mockLogger = new Mock <ILogger <LabelsController> >(); var mockMapper = new Mock <IMapper>(); // Arrange var controller = new LabelsController(mockLogger.Object, mockMapper.Object, mockLabelRepo.Object); // Act var response = controller.PostAsync(null); // Assert var result = response.Result.Result as ObjectResult; result.StatusCode.ShouldBe(400); result.Value.ShouldBe($"Label object from body is null."); }
public LabelsControllerTests() { var mockLabelSet = new Mock <DbSet <Label> >(); _existingLabel = TestDataGraph.Labels.ExistingLabel; _existingLabelUpdated = TestDataGraph.Labels.UpdatedLabel; _newLabel = TestDataGraph.Labels.NewLabel; var labels = TestDataGraph.Labels.LabelsRaw; var data = labels.AsQueryable(); SetupMockDbSet(mockLabelSet, data); SetupMockSetOnMockContext(mockLabelSet); _mockRepository = new Mock <LabelRepository>(MockContext.Object); _mockRepository.Setup(mr => mr.GetAllAlphabetical()).Returns(Task.FromResult(TestDataGraph.Labels.LabelsAlphabetizedByLabelName)); _mockRepository.Setup(mr => mr.GetById(_existingLabel.LabelId)).Returns(Task.FromResult(_existingLabel)); _controller = new LabelsController(_mockRepository.Object); }
public void PutAsync_Succeed() { var mockLabelRepo = new Mock <ILabelRepository>(); var mockLogger = new Mock <ILogger <LabelsController> >(); var mapper = new Mapper(new MapperConfiguration(cfg => cfg.AddProfile(new Mappings.MappingProfile()))); var labelModel = new Models.Label { Id = 1, Name = "LabelA" }; mockLabelRepo.Setup(x => x.GetLabelAsync(It.IsAny <int>())).Returns(Task.FromResult(labelModel)); var labels = new List <Models.Label>() { labelModel, new Models.Label { Name = "LabelB" } }; mockLabelRepo.Setup(x => x.GetLabelsAsync()).Returns(Task.FromResult(labels.AsEnumerable())); var newLabelModel = new Models.Label { Id = 1, Name = "NewLabel" }; mockLabelRepo.Setup(x => x.UpdateLabelAsync(It.IsAny <Models.Label>())).Returns(Task.FromResult(newLabelModel)); // Arrange var controller = new LabelsController(mockLogger.Object, mapper, mockLabelRepo.Object); // Act var labelDTO = new DTOs.Label { Id = 1, Name = "NewLabel" }; var response = controller.PutAsync(1, labelDTO); // Assert var result = response.Result.Result as ObjectResult; result.StatusCode.ShouldBe(200); var returnedLabel = result.Value as DTOs.Label; returnedLabel.Name.ShouldBe(labelDTO.Name); }
public void PutAsync_Failed_LabelIdNotIdentical() { var mockLabelRepo = new Mock <ILabelRepository>(); var mockLogger = new Mock <ILogger <LabelsController> >(); var mockMapper = new Mock <IMapper>(); // Arrange var controller = new LabelsController(mockLogger.Object, mockMapper.Object, mockLabelRepo.Object); // Act var label = new DTOs.Label { Id = 1, Name = "LabelA" }; var response = controller.PutAsync(2, label); // Assert var result = response.Result.Result as ObjectResult; result.StatusCode.ShouldBe(400); result.Value.ShouldBe($"Label id from url and body are not identical."); }
public void PostAsync_Failed_LabelIsNullOrWhiteSpace(string labelName) { var mockLabelRepo = new Mock <ILabelRepository>(); var mockLogger = new Mock <ILogger <LabelsController> >(); var mockMapper = new Mock <IMapper>(); // Arrange var controller = new LabelsController(mockLogger.Object, mockMapper.Object, mockLabelRepo.Object); // Act var label = new DTOs.Label { Name = labelName }; var response = controller.PostAsync(label); // Assert var result = response.Result.Result as ObjectResult; result.StatusCode.ShouldBe(400); result.Value.ShouldBe($"Label could be neither null nor whitespace."); }
public void PutAsync_Failed_LabelNotFound() { var mockLabelRepo = new Mock <ILabelRepository>(); var mockLogger = new Mock <ILogger <LabelsController> >(); var mockMapper = new Mock <IMapper>(); mockLabelRepo.Setup(x => x.GetLabelAsync(It.IsAny <int>())).Returns(Task.FromResult <Models.Label>(null)); // Arrange var controller = new LabelsController(mockLogger.Object, mockMapper.Object, mockLabelRepo.Object); // Act var label = new DTOs.Label { Id = 1, Name = "NewLabelA" }; var response = controller.PutAsync(1, label); // Assert var result = response.Result.Result as ObjectResult; result.StatusCode.ShouldBe(404); result.Value.ShouldBe($"Label with id '{label.Id}' not found."); }
public void ShouldCreateInstance_NotNull_Success() { var controller = new LabelsController(_context, _mockCacheService.Object); Assert.NotNull(controller); }