public async void EditGetHandlesIds() { var mailer = new Mock <IEmailSender>(); // Setup repo mock that returns an list of one ActivityLog var log = new ActivityLog(); var repo = new Mock <ILogRepository>(); repo.Setup(r => r.GetLogAsync(goodGuid)) .Returns(Task.FromResult <BaseLog>(log)); // Good guid test var ctrl = new LogListsController(repo.Object, mailer.Object); var result = await ctrl.Edit(goodId); Assert.IsType <JsonResult>(result); dynamic model = result.Value; Assert.True(model.success); Assert.Equal(model.data, log); // Bad guid test (this never hits the repo) result = await ctrl.Edit("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"); Assert.IsType <JsonResult>(result); model = result.Value; Assert.False(model.success); }
public async void DeleteSucceedsOnDelete() { var mailer = new Mock <IEmailSender>(); // Setup repo mock that succeeds deleting one id var log = new ActivityLog(); var repo = new Mock <ILogRepository>(); repo.Setup(r => r.DeleteAsync(goodGuid)) .Returns(Task.FromResult(true)); // Good guid test var ctrl = new LogListsController(repo.Object, mailer.Object); var result = await ctrl.Delete(goodId); Assert.IsType <JsonResult>(result); dynamic model = result.Value; Assert.True(model.success); // Bad guid test (this never hits the repo) result = await ctrl.Delete("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"); Assert.IsType <JsonResult>(result); model = result.Value; Assert.False(model.success); }
public async void IndexProvidesLogList() { var mailer = new Mock <IEmailSender>(); // Setup repo mock that returns an list of one ActivityLog var list = new List <BaseLog>(); list.Add(new ActivityLog()); list.Add(new ActivityLog()); list.Add(new ActivityLog()); var repo = new Mock <ILogRepository>(); repo.Setup(r => r.GetLogsAsync()) .Returns(Task.FromResult <IEnumerable <BaseLog> >(list)); var ctrl = new LogListsController(repo.Object, mailer.Object); var result = await ctrl.Index(); Assert.IsType <JsonResult>(result); dynamic model = result.Value; Assert.True(model.success); var data = (List <BaseLog>)model.data; Assert.Equal(data.Count(), 3); }
public async void AddContactPostSucceedsOnAdd() { var mailer = new Mock <IEmailSender>(); // Setup repo mock that accepts one Id but not another var good = new ContactLog(); var repo = new Mock <ILogRepository>(); repo.Setup(r => r.AddAsync(good)).Returns(Task.FromResult(true)); repo.Setup(r => r.AddAsync(null)).Returns(Task.FromResult(false)); // Good data test var ctrl = new LogListsController(repo.Object, mailer.Object); var result = await ctrl.AddContact(good); Assert.IsType <JsonResult>(result); dynamic model = result.Value; Assert.True(model.success); // Bad data test result = await ctrl.AddContact(null); Assert.IsType <JsonResult>(result); model = result.Value; Assert.False(model.success); }
public async void EmailReportGeneratesEntryPerLog() { var mailer = new Mock <IEmailSender>(); mailer.Setup(r => r.SendEmailAsync("", It.IsAny <string>(), It.IsRegex(".*conlog.*actlog.*", RegexOptions.Multiline & RegexOptions.IgnoreCase))) .Returns(Task.FromResult(false)); // Setup repo mock that succeeds deleting one id var con = new ContactLog() { Id = new Guid(), LogDate = DateTime.Now, Description = "Conlog" }; var act = new ActivityLog() { Id = new Guid(), LogDate = DateTime.Now, Description = "Actlog" }; var repo = new Mock <ILogRepository>(); repo.Setup(r => r.GetLogAsync(con.Id)) .Returns(Task.FromResult(con as BaseLog)); repo.Setup(r => r.GetLogAsync(act.Id)) .Returns(Task.FromResult(act as BaseLog)); var ctrl = new LogListsController(repo.Object, mailer.Object); var result = await ctrl.EmailReport(new List <Guid> { con.Id, act.Id }); Assert.IsType <JsonResult>(result); dynamic model = result.Value; Assert.True(model.success); // Bad guid test (this never hits the repo) result = await ctrl.Delete("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"); Assert.IsType <JsonResult>(result); model = result.Value; Assert.False(model.success); }
public async void EditActivityPostSucceedsOnUpdate() { var mailer = new Mock <IEmailSender>(); // Setup repo mock that accepts one Id but not another var good = new ActivityLog(); good.Id = new Guid(); var bad = new ActivityLog(); bad.Id = new Guid(); var repo = new Mock <ILogRepository>(); repo.Setup(r => r.UpdateAsync(good)).Returns(Task.FromResult(true)); repo.Setup(r => r.UpdateAsync(bad)).Returns(Task.FromResult(false)); // Good guid test var ctrl = new LogListsController(repo.Object, mailer.Object); var result = await ctrl.EditActivity(good.Id, good); Assert.IsType <JsonResult>(result); dynamic model = result.Value; Assert.True(model.success); // Bad guid test result = await ctrl.EditActivity(bad.Id, bad); Assert.IsType <JsonResult>(result); model = result.Value; Assert.False(model.success); // No guid test result = await ctrl.EditActivity(Guid.Empty, bad); Assert.IsType <JsonResult>(result); model = result.Value; Assert.False(model.success); }