public void ShouldCreateReleaseWithPrePatEmail() { //given var releaseRepository = new Mock<IReleaseRepository>(); var releaseController = new ReleaseController(releaseRepository.Object); //We'll need mocks (fake) of Context, Request and a fake PostedFile var postedfile = new Mock<HttpPostedFileBase>(); var release = new Release(); //Someone is going to ask for Request.File and we'll need a mock (fake) of that. string expectedFileName = "Enzo Pre-PAT release 19122011 ref REL11125.0.00"; string expectedFileTypeExtension = ".msg"; string savedFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, String.Concat(expectedFileName, expectedFileTypeExtension)); postedfile.Setup(f => f.ContentLength).Returns(8192); postedfile.Setup(f => f.FileName).Returns(String.Concat(expectedFileName, expectedFileTypeExtension)); releaseRepository.Setup(m => m.SaveReleaseDetails(It.IsAny<Release>())); //when releaseController.Create(release, postedfile.Object); //Then releaseRepository.Verify(x => x.SaveReleaseDetails(It.IsAny<Release>()), Times.Once()); postedfile.Verify(x => x.SaveAs(savedFileName), Times.Once()); Assert.That(release.PrePatEmailFile.Name, Is.EqualTo(savedFileName)); Assert.That(release.PrePatEmailFile.Length, Is.EqualTo(8192)); }
public void ShouldTestPresenceOfPrePatEmail() { //given Release release = new Release(); //when release.PrePatEmailFileInfo = null; //then }
public void ShouldBeAbleToCreateRelease() { //given var releaseRepository = new Mock<IReleaseRepository>(); var releaseController = new ReleaseController(releaseRepository.Object); //when var release = new Release(); var redirectToRouteResult = (RedirectToRouteResult) releaseController.Create(release, null); //then releaseRepository.Verify(x => x.SaveReleaseDetails(release), Times.Once()); Assert.That(redirectToRouteResult.RouteValues["Controller"], Is.EqualTo("Release")); Assert.That(redirectToRouteResult.RouteValues["Action"], Is.EqualTo("Index")); }
public ActionResult Create(Release release, HttpPostedFileBase prepatfile) { try { if (HasPrePatFile(prepatfile)) { _releaseRepository.SavePrePatEmailFile(prepatfile.FileName, prepatfile.InputStream); release.PrePatEmailFileInfo = new PrePatEmailFileInfo { Name = prepatfile.FileName, Length = prepatfile.ContentLength }; } _releaseRepository.SaveReleaseDetails(release); return RedirectToAction("Index", "Release"); } catch (Exception) { return View("CreateRelease"); } }
public void ShouldCreateReleaseWithoutPrePatEmail() { //given var releaseRepository = new Mock<IReleaseRepository>(); var releaseController = new ReleaseController(releaseRepository.Object); var releaseDetailsModel = new Release() { ReleaseNumber = "REL1216", ReleaseFiInstructions = "FI as Normal", TeamName = "ENZO", ServiceNowTicketLink = "www.google.co.uk" }; //when releaseController.Create(releaseDetailsModel, null); //then releaseRepository.Verify(x => x.SaveReleaseDetails(releaseDetailsModel)); }
public void ShouldDisplayReleaseDetails() { //given string releaseNumber = "REL1216"; var expectedReleaseDetailsModel = new Release { ReleaseNumber = releaseNumber, ReleaseFiInstructions = "FI as Normal", TeamName = "ENZO", PrePatEmailFileInfo = new PrePatEmailFileInfo(){Length=123, Name="prepatemailfile"}, ServiceNowTicketLink = "www.google.co.uk" }; var releaseRepository = new Mock<IReleaseRepository>(); releaseRepository.Setup(x => x.GetReleaseDetails(releaseNumber)).Returns(expectedReleaseDetailsModel); var releaseDetailsController = new ReleaseDetailsController(releaseRepository.Object); //when ViewResult result = releaseDetailsController.Index(releaseNumber); var model = (Release) result.ViewData.Model; //then Assert.That(result.ViewName, Is.EqualTo("ReleaseDetails")); Assert.That(model, Is.EqualTo(expectedReleaseDetailsModel)); }
public virtual bool Equals(Release other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return other.ReleaseDate.Equals(ReleaseDate) && Equals(other.ReleaseNumber, ReleaseNumber) && Equals(other.ReleaseFiInstructions, ReleaseFiInstructions) && Equals(other.TeamName, TeamName) && Equals(other.ServiceNowTicketLink, ServiceNowTicketLink) && Equals(other.PrePatEmailFileInfo, PrePatEmailFileInfo); }