public void ImportVisitLogSource_WithCsvText_ReturnsVisitLogEntities() { //set up repo var visitLogEntities = new List <VisitLog>(); var dataStoreRepositoryMock = new Mock <IDataStoreRepository>(); dataStoreRepositoryMock.Setup(x => x.AddEntity(It.IsAny <VisitLog>())).Callback <VisitLog>(l => visitLogEntities.Add(l)); dataStoreRepositoryMock.Setup(x => x.SaveChanges()).Returns(() => visitLogEntities.Count); var exclusionEntryRepositoryMock = new Mock <IExclusionEntryRepository>(); var visitLogService = new VisitLogService(exclusionEntryRepositoryMock.Object, dataStoreRepositoryMock.Object); //simulate csv data input var csvDataReader = new StringReader(@"date|website|visits 2016-01-06|www.bing.com|14065457 2016-01-06|www.ebay.com.au|19831166 2016-01-06|www.facebook.com|104346720 2016-01-06|mail.live.com|21536612 2016-01-06|www.wikipedia.org|13246531 2016-01-27|www.ebay.com.au|23154653 2016-01-06|au.yahoo.com|11492756 2016-01-06|www.google.com|26165099"); //parse data and save var count = visitLogService.ImportVisitLogSource(csvDataReader); Assert.AreEqual(visitLogEntities.Count, count); Assert.AreEqual(8, visitLogEntities.Count); Assert.AreEqual(new DateTime(2016, 1, 6), visitLogEntities[0].date); Assert.AreEqual("www.bing.com", visitLogEntities[0].website); Assert.AreEqual(14065457, visitLogEntities[0].visits); Assert.AreEqual(new DateTime(2016, 1, 27), visitLogEntities[5].date); Assert.AreEqual("www.ebay.com.au", visitLogEntities[5].website); Assert.AreEqual(23154653, visitLogEntities[5].visits); }
public void ResetVisitLog_NoParam_InvokesTruncateOnce() { var dataStoreRepositoryMock = new Mock <IDataStoreRepository>(); var exclusionEntryRepositoryMock = new Mock <IExclusionEntryRepository>(); var visitLogService = new VisitLogService(exclusionEntryRepositoryMock.Object, dataStoreRepositoryMock.Object); visitLogService.ResetVisitLog(); dataStoreRepositoryMock.Verify(x => x.TruncateStore <VisitLog>(), Times.Once); }
private void btnSave_Click(object sender, EventArgs e) { if (_currentVisitor == null) { VisitorService vs = new VisitorService(); VisitLogService vls = new VisitLogService(); if (txtName.Text.Trim().Length > 0 && txtMobile.Text.Trim().Length > 0 && txtIdentity.Text.Trim().Length > 0) { _newVisitor = vs.AddVisitor(txtName.Text.Trim(), txtMobile.Text.Trim(), txtIdentity.Text.Trim(), txtCompany.Text.Trim(), Robot.GetLatestTemplate()); if (txtPurpose.Text.Trim().Length > 0 && txtRecepter.Text.Trim().Length > 0 && _newVisitor != null) { if (validateTime(txtTime.Text.Trim())) { vls.AddLog(txtTime.Text.Trim(), txtPurpose.Text.Trim(), txtRecepter.Text.Trim(), txtRemark.Text.Trim(), _newVisitor.Id); this.Close(); } else { MessageBox.Show("访问时间格式不正确,请重新填写!", "提示"); } } else { MessageBox.Show("访客信息不完整,请补充完整!", "提示"); } } else { MessageBox.Show("身份信息不完整,请补充完整!", "提示"); } } else { VisitLogService vls = new VisitLogService(); if (txtPurpose.Text.Trim().Length > 0 && txtRecepter.Text.Trim().Length > 0) { if (validateTime(txtTime.Text.Trim())) { vls.AddLog(txtTime.Text.Trim(), txtPurpose.Text.Trim(), txtRecepter.Text.Trim(), txtRemark.Text.Trim(), _currentVisitor.Id); this.Close(); } else { MessageBox.Show("访问时间格式不正确,请重新填写!", "提示"); } } else { MessageBox.Show("访客信息不完整,请补充完整!", "提示"); } } }
private void btnCheck_Click(object sender, EventArgs e) { if (validateTime(txtLeaveTime.Text.Trim())) { VisitLogService service = new VisitLogService(); service.UpdateLeaveTime(_log.Id, txtLeaveTime.Text.Trim()); this.DialogResult = DialogResult.OK; this.Close(); } else { MessageBox.Show("您输入的时间格式不正确,请重新输入!", "提示"); } }
public void ImportVisitLogSource_WithCsvWrongDataFormat_ThrowsException() { //set up repo var visitLogEntities = new List <VisitLog>(); var dataStoreRepositoryMock = new Mock <IDataStoreRepository>(); dataStoreRepositoryMock.Setup(x => x.AddEntity(It.IsAny <VisitLog>())).Callback <VisitLog>(l => visitLogEntities.Add(l)); var exclusionEntryRepositoryMock = new Mock <IExclusionEntryRepository>(); var visitLogService = new VisitLogService(exclusionEntryRepositoryMock.Object, dataStoreRepositoryMock.Object); //simulate csv data input var csvDataReader = new StringReader(@"date|website|visits 2016-01-06|www.bing.com|1406aa5457"); //parse data and save var count = visitLogService.ImportVisitLogSource(csvDataReader); }