public void ShouldAddMediaWithNonExistingAlbum()
{
var guid = Guid.NewGuid().ToString();
var dbResult = new Media
{
MediaId = 5,
AlbumId = 1,
Album = _albums[0],
FileName = "foobarbaz.gif",
MediaPath = _rootPath + @"\AddedImages\1\foo\" + guid,
CustomName = guid,
MediaType = "image/gif",
MediaUrl = string.Format("https://{0}/blogapi/api/media/{1}", UserHelper.GetLocalIpAddress(), guid),
ThumbnailPath = _rootPath + @"\AddedImages\1\foo\" + guid + @"\tn",
ThumbnailUrl = string.Format("https://{0}/blogapi/api/media/{1}/{2}", UserHelper.GetLocalIpAddress(), guid, "thumb")
};
_mediaRepository = new Mock<IMediaRepository>();
_mediaRepository.Setup(a => a.Add(It.IsAny<Media>()))
.Returns(dbResult);
_fileHelper = new Mock<IFileHelper>();
_fileHelper.Setup(a => a.MoveFile(It.IsAny<string>(), It.IsAny<string>())).Returns(true);
_fileHelper.Setup(a => a.CreateDirectory(It.IsAny<string>())).Returns(true);
_albumRepository = new Mock<IAlbumRepository>();
_albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false))
.Returns(new List<Album>());
_albumRepository.Setup(a => a.Add(It.IsAny<Album>()))
.Returns(new Album { AlbumId = 1, AlbumName = "foo" });
_imageHelper = new Mock<IImageHelper>();
_imageHelper.Setup(a => a.GenerateImagePath(It.IsAny<int>(), It.IsAny<string>(),
It.IsAny<string>())).Returns(_rootPath + @"\AddedImages\1\" + guid);
_imageHelper.Setup(a => a.CreateGifThumbnail(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()))
.Returns(true);
_configurationHelper = new Mock<IConfigurationHelper>();
_configurationHelper.Setup(a => a.GetAppSettings(It.IsAny<string>())).Returns("tn_");
_mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
_imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);
var result = _mediaLogic.Add(new Common.Contracts.User { Id = 1 }, "foo", "foobarbaz.gif",
_rootPath + @"\TestImages\foobarbaz.gif", "image/gif");
Assert.NotNull(result);
}