public EntriesControllerTest(TestFixture fixture) { _context = fixture.Context; var logger = fixture.CreateMockLogger <EntriesController>(); _controller = new EntriesController(_context, logger); }
public async Task Delete_EntryRemoved_ReturnsOk() { _service.Setup(s => s.Delete(It.IsAny <long>(), It.IsAny <long>())); _controller = new EntriesController(_logger, _service.Object); var result = await _controller.Delete(1L, 1L); result.Should().BeOfType <OkResult>(); }
public void ViewUpdate() { // Arrange EntriesController controller = new EntriesController(); // Act ViewResult result = controller.ViewDelete(null) as ViewResult; // Assert Assert.IsNotNull(result); }
public void AddEdit() { // Arrange EntriesController controller = new EntriesController(); // Act ViewResult result = controller.AddEdit(null) as ViewResult; // Assert Assert.IsNotNull(result); }
public async Task Add_JournalNotFound_ReturnsBadRequest() { _service.Setup(s => s.Add(It.IsAny <long>(), It.IsAny <EntryDto>())) .ReturnsAsync(() => null); _controller = new EntriesController(_logger, _service.Object); var result = await _controller.Add("UserId", 1L, new EntryDto()); result.Should().BeOfType <BadRequestResult>(); }
public async Task Update_EntryNotFound_ReturnsBadRequest() { _service.Setup(s => s.Update(It.IsAny <EntryDto>())) .ReturnsAsync(() => null); _controller = new EntriesController(_logger, _service.Object); var result = await _controller.Update(new EntryDto()); result.Should().BeOfType <BadRequestResult>(); }
public void TestConstructor_PassEverythingCorrectly_ShouldInitializeCorrectly() { // Arrange var mockedService = new Mock <IEntryService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); // Act var controller = new EntriesController(mockedService.Object, mockedAuthenticationProvider.Object); // Assert Assert.IsNotNull(controller); }
public async Task GetOne_EntryNotFound_ReturnsNotFound() { _service.Setup(s => s.GetById(It.IsAny <long>())) .ReturnsAsync(() => null); _controller = new EntriesController(_logger, _service.Object); var result = await _controller.GetOne(1L); result.Should().BeOfType <NotFoundResult>(); }
public async Task GetAll_JournalFound_ReturnsOk() { _service.Setup(s => s.GetAllByJournal(It.IsAny <long>())) .ReturnsAsync(new List <EntryDto>()); _controller = new EntriesController(_logger, _service.Object); var result = await _controller.GetAll(1L); result.Should().BeOfType <OkObjectResult>(); }
public async Task GetOne_EntryFound_ReturnsOk() { _service.Setup(s => s.GetById(It.IsAny <long>())) .ReturnsAsync(new EntryDto { Title = "Entry" }); _controller = new EntriesController(_logger, _service.Object); var result = await _controller.GetOne(1L); result.Should().BeOfType <OkObjectResult>(); }
public async Task Update_EntryFound_Updated_ReturnsOk() { var entry = new EntryDto(); _service.Setup(s => s.Update(It.IsAny <EntryDto>())) .ReturnsAsync(entry); _controller = new EntriesController(_logger, _service.Object); var result = await _controller.Update(entry); result.Should().BeOfType <OkObjectResult>(); }
public async Task Add_JournalFound_EntryAdded_ReturnsOk() { var entry = new EntryDto { Title = "Blah" }; _service.Setup(s => s.Add(It.IsAny <long>(), It.IsAny <EntryDto>())) .ReturnsAsync(entry); _controller = new EntriesController(_logger, _service.Object); var result = await _controller.Add("UserId", 1L, entry); result.Should().BeOfType <CreatedResult>(); }
public void TestNewEntry_ShouldCallAuthenticationProviderCurrentUserId() { // Arrange var model = new NewEntryViewModel(); var mockedService = new Mock <IEntryService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new EntriesController(mockedService.Object, mockedAuthenticationProvider.Object); // Act controller.NewEntry(model); // Assert mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Once); }
public void TestNewEntry_ShouldRedirectCorrectly(int logId) { // Arrange var model = new NewEntryViewModel { LogId = logId }; var mockedService = new Mock <IEntryService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new EntriesController(mockedService.Object, mockedAuthenticationProvider.Object); // Act, Assert controller .WithCallTo(c => c.NewEntry(model)) .ShouldRedirectTo((LogsController c) => c.Details(logId, It.IsAny <int>(), It.IsAny <int>())); }
private EntriesController CreateEntriesController(BudBudgetContext context, int userId = 0) { var entriesController = new EntriesController(context, Fixture.mapper); var claims = new List <Claim> { new Claim("UserId", userId.ToString()) }; var claimsIdentity = new ClaimsIdentity(claims); entriesController.ControllerContext = new ControllerContext(); entriesController.ControllerContext.HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(claimsIdentity) }; return(entriesController); }
public void TestNewEntry_ModelStateIsNotValid_ShouldNotCallAuthenticationProviderCurrentUserId() { // Arrange var model = new NewEntryViewModel(); var mockedService = new Mock <IEntryService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new EntriesController(mockedService.Object, mockedAuthenticationProvider.Object); controller.ModelState.AddModelError("", ""); // Act controller.NewEntry(model); // Assert mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Never); }
public void TestEditEntry_ShouldSetViewModelCorrectly(int entryId, string content) { // Arrange var mockedService = new Mock <IEntryService>(); var mockedProvider = new Mock <IAuthenticationProvider>(); var controller = new EntriesController(mockedService.Object, mockedProvider.Object); var model = new LogEntryViewModel { EntryId = entryId, Content = content }; // Act, Assert controller .WithCallTo(c => c.EditEntry(model)) .ShouldRenderPartialView("_EntryContentPartial") .WithModel <LogEntryViewModel>(m => Assert.AreSame(model, m)); }
public void TestEditEntry_ShouldCallEntryServiceEditEntryCorrectly(int entryId, string content) { // Arrange var mockedService = new Mock <IEntryService>(); var mockedProvider = new Mock <IAuthenticationProvider>(); var controller = new EntriesController(mockedService.Object, mockedProvider.Object); var model = new LogEntryViewModel { EntryId = entryId, Content = content }; // Act controller.EditEntry(model); // Assert mockedService.Verify(s => s.EditEntry(entryId, content), Times.Once); }
private static EntriesController GetEntriesControllerWithUser(EntriesService service) { var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, "1") } ) ); var controller = new EntriesController(service); controller.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; return(controller); }
/// <summary> /// Used to populate quick preview listboxes /// </summary> private void GenerateQuickPreview() { DateTime to = DateTime.Now; DateTime from; List <Entry> entries; EntriesController eController = new EntriesController(); EntriesFilter filter = new EntriesFilter(DateTime.Now, to); // using DateTime.Now just to initialize // Today, past 7, past 30 int[] decrease = { 0, -7, -30 }; ListBox[] lbs = { today_lb, pastSevenDays_lb, pastThrityDays_lb }; for (int i = 0; i < decrease.Length; i++) { from = to.AddDays(decrease[i]).AddHours(to.Hour * -1).AddMinutes(to.Minute * -1).AddSeconds(to.Second * -1); filter.from_date = from; entries = eController.FilterEntriesForChart(filter); PopulateListBox(entries, lbs[i]); } // Past 6 months from = to.AddMonths(-6).AddHours(to.Hour * -1).AddMinutes(to.Minute * -1).AddSeconds(to.Second * -1); filter.from_date = from; entries = eController.FilterEntriesForChart(filter); PopulateListBox(entries, pastSixMonths_lb); // Past year from = to.AddYears(-1).AddHours(to.Hour * -1).AddMinutes(to.Minute * -1).AddSeconds(to.Second * -1); filter.from_date = from; entries = eController.FilterEntriesForChart(filter); PopulateListBox(entries, pastYear_lb); // This year from = to.AddMonths((to.Month - 1) * -1).AddDays((to.Day - 1) * -1).AddHours(to.Hour * -1).AddMinutes(to.Minute * -1).AddSeconds(to.Second * -1); filter.from_date = from; entries = eController.FilterEntriesForChart(filter); PopulateListBox(entries, thisYear_lb); // All time entries = eController.GetAllEntries(); PopulateListBox(entries, allTime_lb); }
public void TestNewEntry_ShouldCallEntryServiceAddEntryToLogCorrectly(int logId, string content, string userId) { // Arrange var model = new NewEntryViewModel { LogId = logId, Content = content }; var mockedService = new Mock <IEntryService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId); var controller = new EntriesController(mockedService.Object, mockedAuthenticationProvider.Object); // Act controller.NewEntry(model); // Assert mockedService.Verify(s => s.AddEntryToLog(content, logId, userId), Times.Once); }
public void Initialize() { _context = new JoggingDbContext(new DbContextOptionsBuilder <JoggingDbContext>().UseInMemoryDatabase().Options); _context.Database.EnsureDeleted();//make sure we don't share state between tests _context.Users.Add(_regularUser1 = new User() { Id = 123, Email = "[email protected]", FirstName = "Joe", LastName = "User", Role = UserRole.User }); _context.Users.Add(_regularUser2 = new User() { Id = 234, Email = "[email protected]", FirstName = "Moe", LastName = "User", Role = UserRole.User }); _context.Users.Add(_adminUser = new User() { Id = 345, Email = "*****@*****.**", FirstName = "Le", LastName = "Admin", Role = UserRole.Admin }); _context.SaveChanges(); _userService = new DummyUserService(_regularUser1); _controller = new EntriesController(_context, _userService); }
public void TestEditEntry_ShouldSetViewModelContentCorrectly(int entryId, string content) { // Arrange var mockedService = new Mock <IEntryService>(); mockedService.Setup(s => s.EditEntry(It.IsAny <int>(), It.IsAny <string>())) .Returns(new LogEntry { Content = content }); var mockedProvider = new Mock <IAuthenticationProvider>(); var controller = new EntriesController(mockedService.Object, mockedProvider.Object); var model = new LogEntryViewModel { EntryId = entryId, Content = content }; // Act var result = controller.EditEntry(model); // Assert Assert.AreEqual(content, ((LogEntryViewModel)result.Model).Content); }
public void TestEditEntry_ModelStateIsNotValid_ShouldNotCallEntryServiceEditEntryCorrectly(int entryId, string content) { // Arrange var mockedService = new Mock <IEntryService>(); mockedService.Setup(s => s.EditEntry(It.IsAny <int>(), It.IsAny <string>())) .Returns(new LogEntry()); var mockedProvider = new Mock <IAuthenticationProvider>(); var controller = new EntriesController(mockedService.Object, mockedProvider.Object); controller.ModelState.AddModelError("", ""); var model = new LogEntryViewModel { EntryId = entryId, Content = content }; // Act controller.EditEntry(model); // Assert mockedService.Verify(s => s.EditEntry(It.IsAny <int>(), It.IsAny <string>()), Times.Never); }
public async void CreateAllResultsFiles(int meetId, string folderPath) { if (folderPath.Last() != '\\') { folderPath += "\\"; } // Before building the results file delete all existing results files DeleteAllResultsFiles(folderPath, ".lff"); EventsController eventContoller = new EventsController(); AthleteController athleteController = new AthleteController(); EntriesController entriesController = new EntriesController(); MarksController markController = new MarksController(); List <ResultsHeader> resultsHeader = new List <ResultsHeader>(); var eventsList = eventContoller.GetEventsByMeetId(meetId); foreach (Event item in eventsList) { resultsHeader.Add(new ResultsHeader { EventId = item.EventId, EventNum = item.EventNum, RoundNum = item.FlightNum, FlightNum = item.FlightNum, EventName = item.EventName, MeasurementSystem = item.MeasurementType }); } StringBuilder headerText = new StringBuilder(); StringBuilder eventFileName = new StringBuilder(); foreach (ResultsHeader item in resultsHeader) { // Build the file name for the event results file eventFileName.Append( String.Concat( folderPath, item.EventNum.ToString().Length < 3 ? item.EventNum.ToString().PadLeft(3, '0') : item.EventNum.ToString(), "-", item.RoundNum.ToString(), "-", item.FlightNum.ToString(), ".lff")); // Adds the header to each file using (StreamWriter writer = new StreamWriter(eventFileName.ToString(), true)) { headerText.Append(String.Concat( item.EventNum.ToString(), ",", item.RoundNum.ToString(), ",", item.FlightNum.ToString(), ",", item.EventName, ",", item.MeasurementSystem, Environment.NewLine)); await writer.WriteAsync(headerText.ToString()); writer.Close(); headerText.Clear(); } await AddAthleteResults( eventFileName.ToString(), item.EventId, athleteController, entriesController, markController); // Clear the StringBuilder for the next file name eventFileName.Clear(); } }
public void TestGetEntryByEntryId() { EntriesController entryController = new EntriesController(); var entry = entryController.GetEntryByEntryId(5); }
// Add athlete results for specific event async Task AddAthleteResults(string filePath, int eventId, AthleteController athleteController, EntriesController entriesController, MarksController markController) { var entriesInfoList = entriesController.GetEntriesByEventId(eventId); List <ResultsEntry> entryResultsList = new List <ResultsEntry>(); foreach (Entry item in entriesInfoList) { entryResultsList.Add(new ResultsEntry { FlightPlace = item.FlightPlace.ToString(), AthleteId = item.AthleteID.ToString(), // CompetePosition = item.CompetePosition.ToString(), This will has the potential to cause errors in the Field Lynx application EventPlace = string.Empty, // Not concerned about event place for mvp LastName = item.LastName, FirstName = item.FirstName, Affiliation = item.TeamName, Wind = string.Empty // Not concerned about wind for mvp }); // Add the marks to the entry result if (item.Marks.Count() > 0) { StringBuilder marksString = new StringBuilder(); foreach (Mark markItem in item.Marks) { marksString.Append(String.Concat(markItem.mark, ",")); } entryResultsList.Last().Mark = marksString.ToString(); } else { entryResultsList.Last().Mark = String.Empty; } } StringBuilder entryText = new StringBuilder(); foreach (ResultsEntry item in entryResultsList) { // Adds the header to each file using (StreamWriter writer = new StreamWriter(filePath, true)) { entryText.Append(String.Concat( item.FlightPlace.ToString(), ",", item.AthleteId.ToString(), ",", String.Empty, ",", // This is where compete position would be item.EventPlace, ",", item.LastName, ",", item.FirstName, ",", item.Affiliation, ",", item.Mark, item.Wind, ",", Environment.NewLine)); await writer.WriteAsync(entryText.ToString()); entryText.Clear(); writer.Close(); } } }
public void TestGetEntriesByEventId() { EntriesController entryContoller = new EntriesController(); var entriesList = entryContoller.GetEntriesByEventId(7); }