Beispiel #1
0
        public void When_AddVideo_is_called_with_a_new_Video_then_UploadVideo_on_the_VideoAdapter_is_called_with_that_Video_and_the_stored_VideoAdapterSettings()
        {
            var          photo    = new MemoryStream();
            const string fileName = "photo.jpg";
            const string photoId  = "http://www.photos.com/myphoto";
            var          entity   = AdapterSettingsCreator.CreateSingle();

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(entity)
            .Repeat.Once();
            BandRepository.Replay();

            VideoAdapter
            .Expect(adapter =>
                    adapter.UploadItem(photo, entity.SetName, fileName, entity.OAuthAccessToken))
            .Return(photoId)
            .Repeat.Once();
            VideoAdapter.Replay();

            var result = Process.AddVideo(photo, fileName);

            Assert.AreEqual(photoId, result);

            VideoAdapter.VerifyAllExpectations();
        }
Beispiel #2
0
        public void When_GetAudioTracks_is_called_with_a_new_Audio_then_GetItems_on_the_AudioAdapter_is_called_with_that_Audio_and_the_stored_AudioAdapterSettings()
        {
            var tracks = AudioTrackCreator.CreateCollection();
            var entity = AdapterSettingsCreator.CreateSingle();

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(entity)
            .Repeat.Once();
            BandRepository.Replay();

            AudioAdapter
            .Expect(adapter =>
                    adapter.GetItems(entity.SetName, entity.OAuthAccessToken))
            .Return(tracks)
            .Repeat.Once();
            AudioAdapter.Replay();

            var results = Process.GetAudioTracks();

            Assert.AreEqual(tracks.Count(), results.Count());
            Assert.AreEqual(tracks.First().ResourceUri, results.First().ResourceUri);

            AudioAdapter.VerifyAllExpectations();
        }
Beispiel #3
0
        public void When_Edit_is_called_with_an_Id_then_GetAudioAdapterSettings_on_IAudioAdapterSettingsProcess_is_called_and_the_result_is_mapped_with_AudioAdapterSettingsMapper()
        {
            var adapterSettings = AdapterSettingsCreator.CreateSingle();

            AudioProcess
            .Expect(process =>
                    process.GetAdapterSettings())
            .Return(adapterSettings)
            .Repeat.Once();
            AudioProcess.Replay();

            var updateModel = CreateUpdateAudioAdapterSettingsModel(Guid.NewGuid());

            AudioAdapterSettingsMapper
            .Expect(mapper =>
                    mapper.MapToUpdate(
                        Arg <AdapterSettings> .Matches(settings => settings.Id == adapterSettings.Id)))
            .Return(updateModel)
            .Repeat.Once();
            AudioAdapterSettingsMapper.Replay();

            var result = Controller.Edit().Result as ViewResult;

            Assert.IsNotNull(result);

            var model = result.Model as UpdateAudioAdapterSettingsModel;

            Assert.IsNotNull(model);

            AudioProcess.VerifyAllExpectations();
            AudioAdapterSettingsMapper.VerifyAllExpectations();
        }
Beispiel #4
0
        public void When_AddVideo_is_called_and_no_OAuthAccessToken_has_been_stored_then_an_InvalidOperationException_is_thrown_and_UploadVideo_on_the_VideoAdapter_is_never_called()
        {
            var          photo    = new MemoryStream();
            const string fileName = "photo.jpg";
            var          entity   = AdapterSettingsCreator.CreateSingle();

            entity.OAuthAccessToken = null;

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(entity)
            .Repeat.Once();
            BandRepository.Replay();

            VideoAdapter
            .Expect(adapter =>
                    adapter.UploadItem(null, null, null, null))
            .IgnoreArguments()
            .Return("")
            .Repeat.Never();
            VideoAdapter.Replay();

            Process.AddVideo(photo, fileName);

            VideoAdapter.VerifyAllExpectations();
        }
Beispiel #5
0
        public void When_UpdateVideoAdapterSettings_is_mapped_to_a_VideoAdapterSettings_and_the_SetName_is_null_then_all_fields_are_mapped_correctly_and_SetName_in_the_result_is_null()
        {
            const string fullName = "FullName";
            const string userName = "******";
            const string userId   = "UserId";

            var entity = AdapterSettingsCreator.CreateSingle();

            VideoProcess
            .Expect(process =>
                    process.GetAdapterSettings())
            .Return(entity)
            .Repeat.Once();
            VideoProcess.Replay();

            var updateModel = new UpdateVideoAdapterSettingsModel
            {
                FullName = fullName,
                UserName = userName,
                UserId   = userId,
                SetName  = null,
            };

            var result = Mapper.Map(updateModel);

            Assert.AreEqual(null, result.SetName);
            Assert.AreNotEqual(fullName, result.OAuthAccessToken.FullName);
            Assert.AreNotEqual(userName, result.OAuthAccessToken.Username);
            Assert.AreNotEqual(userId, result.OAuthAccessToken.UserId);

            VideoProcess.VerifyAllExpectations();
        }
Beispiel #6
0
        public void When_GetPhotos_is_called_and_no_PhotoAdapterSettings_have_been_stored_then_an_AuthorizationException_is_thrown_and_GetPhotos_on_the_PhotoAdapter_is_never_called()
        {
            var adapterSettings = AdapterSettingsCreator.CreateSingle();

            adapterSettings.OAuthAccessToken  = null;
            adapterSettings.OAuthRequestToken = null;

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Throw(new InvalidOperationException())
            .Repeat.Once();
            BandRepository
            .Expect(repository =>
                    repository.AddAdapterSettings(Arg <AdapterSettings> .Is.Anything))
            .Return(adapterSettings)
            .Repeat.Once();
            BandRepository.Replay();

            PhotoAdapter
            .Expect(adapter =>
                    adapter.GetItems(null, null))
            .IgnoreArguments()
            .Repeat.Never();
            PhotoAdapter.Replay();

            Process.GetPhotos();

            PhotoAdapter.VerifyAllExpectations();
        }
Beispiel #7
0
        public void When_Index_is_called_GetPhotoAdapterSettings_on_IPhotoAdapterSettingsProcess_is_called_and_the_result_is_mapped_with_PhotoAdapterSettingsMapper()
        {
            var photoAdapterSettings = AdapterSettingsCreator.CreateSingle();

            PhotoProcess
            .Expect(process =>
                    process.GetAdapterSettings())
            .Return(photoAdapterSettings)
            .Repeat.Once();
            PhotoProcess.Replay();

            var photoAdapterSettingsDetailsModel = CreatePhotoAdapterSettingsDetailsModel(Guid.NewGuid());

            PhotoAdapterSettingsMapper
            .Expect(mapper =>
                    mapper.MapToDetail(
                        Arg <AdapterSettings> .Matches(settings => settings.Id == photoAdapterSettings.Id)))
            .Return(photoAdapterSettingsDetailsModel)
            .Repeat.Once();
            PhotoAdapterSettingsMapper.Replay();

            var result = Controller.Index().Result as ViewResult;

            Assert.IsNotNull(result);

            var model = result.Model as PhotoAdapterSettingsDetailsModel;

            Assert.IsNotNull(model);

            PhotoProcess.VerifyAllExpectations();
            PhotoAdapterSettingsMapper.VerifyAllExpectations();
        }
Beispiel #8
0
        public void When_GetPhotos_is_called_then_GetPhotoAdapterSettings_on_the_BandRepository_is_called()
        {
            var photos   = PhotoCreator.CreateCollection();
            var settings = AdapterSettingsCreator.CreateSingle();

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(settings)
            .Repeat.Once();
            BandRepository.Replay();

            PhotoAdapter
            .Expect(adapter =>
                    adapter.GetItems(settings.SetName, settings.OAuthAccessToken))
            .Return(photos)
            .Repeat.Once();
            PhotoAdapter.Replay();

            var result = Process.GetPhotos();

            Assert.AreEqual(photos.Count(), result.Count());
            Assert.AreEqual(photos.First(), result.First());
            BandRepository.VerifyAllExpectations();
        }
Beispiel #9
0
        public void When_AddPhoto_is_called_and_no_PhotoAdapterSettings_have_been_stored_then_an_InvalidOperationException_is_thrown_and_UploadPhoto_on_the_PhotoAdapter_is_never_called()
        {
            var adapterSettings = AdapterSettingsCreator.CreateSingle();

            adapterSettings.OAuthAccessToken  = null;
            adapterSettings.OAuthRequestToken = null;

            var          photo    = new MemoryStream();
            const string fileName = "photo.jpg";

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Throw(new InvalidOperationException())
            .Repeat.Once();
            BandRepository
            .Expect(repository =>
                    repository.AddAdapterSettings(Arg <AdapterSettings> .Is.Anything))
            .Return(adapterSettings)
            .Repeat.Once();
            BandRepository.Replay();

            PhotoAdapter
            .Expect(adapter =>
                    adapter.UploadItem(null, null, null, null))
            .IgnoreArguments()
            .Return("")
            .Repeat.Never();
            PhotoAdapter.Replay();

            Process.AddPhoto(photo, fileName);

            PhotoAdapter.VerifyAllExpectations();
        }
Beispiel #10
0
        public void When_AddPhoto_is_called_with_a_new_Photo_then_GetPhotoAdapterSettings_on_the_BandRepository_is_called()
        {
            var          photo    = new MemoryStream();
            const string fileName = "photo.jpg";
            const string photoUrl = "http://www.photos.com/myphoto";
            var          entity   = AdapterSettingsCreator.CreateSingle();

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(entity)
            .Repeat.Once();
            BandRepository.Replay();

            PhotoAdapter
            .Expect(adapter =>
                    adapter.UploadItem(photo, entity.SetName, fileName, entity.OAuthAccessToken))
            .Return(photoUrl)
            .Repeat.Once();
            PhotoAdapter.Replay();

            Process.AddPhoto(photo, fileName);

            BandRepository.VerifyAllExpectations();
        }
Beispiel #11
0
        public void When_GetVideo_is_called_with_a_new_Video_and_an_empty_string_for_setName_then_UploadVideo_on_the_VideoAdapter_is_called_with_that_Video_and_the_stored_VideoAdapterSettings()
        {
            var tracks = VideoCreator.CreateCollection();
            var entity = AdapterSettingsCreator.CreateSingle();

            entity.SetName = string.Empty;

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(entity)
            .Repeat.Once();
            BandRepository.Replay();

            VideoAdapter
            .Expect(adapter =>
                    adapter.GetItems(entity.SetName, entity.OAuthAccessToken))
            .Return(tracks)
            .Repeat.Once();
            VideoAdapter.Replay();

            var result = Process.GetVideos();

            Assert.AreEqual(tracks.Count(), result.Count());
            Assert.AreEqual(tracks.First().ResourceUri, result.First().ResourceUri);

            VideoAdapter.VerifyAllExpectations();
        }
Beispiel #12
0
        public void When_GetVideo_is_called_and_no_OAuthAccessToken_has_been_stored_then_an_InvalidOperationException_is_thrown_and_GetVideo_on_the_VideoAdapter_is_never_called()
        {
            var photoAdapterSettings = AdapterSettingsCreator.CreateSingle();

            photoAdapterSettings.OAuthAccessToken = null;

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(photoAdapterSettings)
            .Repeat.Once();
            BandRepository.Replay();

            VideoAdapter
            .Expect(adapter =>
                    adapter.GetItems(null, null))
            .IgnoreArguments()
            .Return(new List <Video>())
            .Repeat.Never();
            VideoAdapter.Replay();

            Process.GetVideos(0, 10);

            VideoAdapter.VerifyAllExpectations();
        }
Beispiel #13
0
        public void When_VideoAdapterSettings_is_mapped_to_an_UpdateVideoAdapterSettingsModel_and_the_SetName_is_null_then_all_corresponding_fields_are_mapped_and_the_result_SetName_is_null()
        {
            var entity = AdapterSettingsCreator.CreateSingle();

            entity.SetName = null;

            var result = Mapper.MapToUpdate(entity);

            Assert.AreEqual(entity.SetName, result.SetName);
            Assert.AreEqual(entity.OAuthAccessToken.UserId, result.UserId);
        }
        public void When_AudioAdapterSettings_is_mapped_to_an_UpdateAudioAdapterSettingsModel_then_all_corresponding_fields_are_mapped()
        {
            var entity = AdapterSettingsCreator.CreateSingle();

            var result = Mapper.MapToUpdate(entity);

            Assert.AreEqual(entity.SetName, result.SetName);
            Assert.AreEqual(entity.OAuthAccessToken.FullName, result.FullName);
            Assert.AreEqual(entity.OAuthAccessToken.UserId, result.UserId);
            Assert.AreEqual(entity.OAuthAccessToken.Username, result.UserName);
        }
Beispiel #15
0
        public void When_AudioAdapterSettings_is_mapped_to_a_AudioAdapterSettingsDetailsModel_then_all_data_is_mapped_correct()
        {
            var entity = AdapterSettingsCreator.CreateSingle();

            var result = Mapper.MapToDetail(entity);

            Assert.AreEqual(entity.Id, result.Id);
            Assert.AreEqual(entity.CreationDate, result.CreationDate);
            Assert.AreEqual(entity.ModificationDate, result.ModificationDate);
            Assert.AreEqual(entity.SetName, result.SetName);

            Assert.AreEqual(entity.OAuthAccessToken.FullName, result.FullName);
            Assert.AreEqual(entity.OAuthAccessToken.UserId, result.UserId);
            Assert.AreEqual(entity.OAuthAccessToken.Username, result.UserName);
        }
Beispiel #16
0
        public void When_AudioAdapterSettings_is_mapped_to_a_AudioAdapterSettingsDetailsModel_and_the_ApiKey_is_null_then_the_result_ApiKey_is_null()
        {
            var entity = AdapterSettingsCreator.CreateSingle();

            entity.SetName = null;

            var result = Mapper.MapToDetail(entity);

            Assert.AreEqual(entity.Id, result.Id);
            Assert.AreEqual(entity.CreationDate, result.CreationDate);
            Assert.AreEqual(entity.ModificationDate, result.ModificationDate);

            Assert.AreEqual(entity.SetName, result.SetName);
            Assert.AreEqual(entity.OAuthAccessToken.UserId, result.UserId);
        }
Beispiel #17
0
        public void When_UpdateVideoAdapterSettings_is_called_then_UpdateVideoAdapterSettings_on_the_BandRepository_is_called()
        {
            var adapterSettings = AdapterSettingsCreator.CreateSingle();

            BandRepository
            .Expect(repository =>
                    repository.UpdateAdapterSettings(adapterSettings))
            .Return(adapterSettings)
            .Repeat.Once();
            BandRepository.Replay();

            var result = Process.UpdateAdapterSettings(adapterSettings);

            Assert.AreEqual(adapterSettings, result);

            BandRepository.VerifyAllExpectations();
        }
        public void When_GetAudioAdapterSettings_is_called_then_GetAudioAdapterSettings_on_the_BandRepository_is_called()
        {
            var adapterSettings = AdapterSettingsCreator.CreateSingle();

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(adapterSettings)
            .Repeat.Once();
            BandRepository.Replay();

            var result = Process.GetAdapterSettings();

            Assert.AreEqual(adapterSettings, result);

            BandRepository.VerifyAllExpectations();
        }
        public void When_UpdatePhotoAdapterSettings_is_called_with_a_PhotoAdapterSettings_then_the_PhotoAdapterSettings_with_is_updated_in_the_collection()
        {
            const string adapterName     = "AdapterName";
            var          adapterSettings = AdapterSettingsCreator.CreateSingle(adapterName);

            BandCatalog
            .Expect(catalog => catalog.Update(adapterSettings))
            .Return(adapterSettings)
            .Repeat.Once();
            BandCatalog.Replay();

            var result = Repository.UpdateAdapterSettings(adapterSettings);

            Assert.IsNotNull(result);
            Assert.AreEqual(adapterSettings, result);

            BandCatalog.VerifyAllExpectations();
        }
        public void When_GetAllPhotoAdapterSettingss_is_called_and_there_are_more_than_one_PhotoAdapterSettingss_instances_stored_then_only_the_first_instance_is_retrieved_from_the_collection()
        {
            const string adapterName     = "AdapterName";
            var          adapterSettings = AdapterSettingsCreator.CreateCollection(adapterName, adapterName, adapterName);

            BandCatalog
            .Expect(catalog => catalog.AdapterSettings)
            .Return(adapterSettings)
            .Repeat.Once();
            BandCatalog.Replay();

            var result = Repository.GetAdapterSettings(adapterName);

            Assert.IsNotNull(result);
            Assert.AreEqual(adapterSettings.First(), result);

            BandCatalog.VerifyAllExpectations();
        }
        public void When_GetAudioAdapterSettings_is_called_and_no_AudioAdapterSettings_have_been_stored_then_AddAudioAdapterSettings_on_the_BandRepository_is_called()
        {
            var adapterSettings = AdapterSettingsCreator.CreateSingle();

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Throw(new InvalidOperationException())
            .Repeat.Once();

            BandRepository
            .Expect(repository =>
                    repository.AddAdapterSettings(adapterSettings))
            .Return(adapterSettings)
            .Repeat.Once();
            BandRepository.Replay();

            Process.GetAdapterSettings();
        }
        public void When_GetPhotoAdapterSettings_is_called_then_the_PhotoAdapterSettings_is_retrieved_from_the_collection()
        {
            const string adapterName     = "AdapterName";
            var          adapterSettings = AdapterSettingsCreator.CreateSingle(adapterName);

            BandCatalog
            .Expect(catalog => catalog.AdapterSettings)
            .Return(new List <AdapterSettings> {
                adapterSettings
            }.AsQueryable())
            .Repeat.Once();
            BandCatalog.Replay();

            var result = Repository.GetAdapterSettings(adapterName);

            Assert.IsNotNull(result);
            Assert.AreEqual(adapterSettings, result);

            BandCatalog.VerifyAllExpectations();
        }
Beispiel #23
0
        public void When_Edit_is_called_with_a_model_then_Map_on_AudioAdapterSettingsMapper_is_called_and_the_result_is_used_to_call_UpdateAudioAdapterSettings_on_IAudioAdapterSettingsProcess_with()
        {
            var adapterSettings = AdapterSettingsCreator.CreateSingle();

            AudioProcess
            .Expect(process =>
                    process.UpdateAdapterSettings(
                        Arg <AdapterSettings> .Matches(settings =>
                                                       settings.Id == adapterSettings.Id)))
            .Return(adapterSettings)
            .Repeat.Once();
            AudioProcess.Replay();

            var updateModel = CreateUpdateAudioAdapterSettingsModel(adapterSettings.Id);

            AudioAdapterSettingsMapper
            .Expect(mapper =>
                    mapper.Map(
                        Arg <UpdateAudioAdapterSettingsModel> .Matches(m => m.SetName == adapterSettings.SetName)))
            .Return(adapterSettings)
            .Repeat.Once();
            AudioAdapterSettingsMapper.Replay();

            var result = Controller.Edit(updateModel).Result as RedirectToRouteResult;

            Assert.IsNotNull(result);

            var routeValues = result.RouteValues;

            Assert.AreEqual(1, routeValues.Count);

            foreach (var routeValue in routeValues)
            {
                Assert.AreEqual("action", routeValue.Key);
                Assert.AreEqual("Index", routeValue.Value);
            }

            AudioProcess.VerifyAllExpectations();
            AudioAdapterSettingsMapper.VerifyAllExpectations();
        }
Beispiel #24
0
        public void When_GetVideo_is_called_then_GetVideoAdapterSettings_on_the_BandRepository_is_called()
        {
            var tracks = VideoCreator.CreateCollection();
            var entity = AdapterSettingsCreator.CreateSingle();

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(entity)
            .Repeat.Once();
            BandRepository.Replay();

            VideoAdapter
            .Expect(adapter =>
                    adapter.GetItems(entity.SetName, entity.OAuthAccessToken))
            .Return(tracks)
            .Repeat.Once();
            VideoAdapter.Replay();

            Process.GetVideos();

            BandRepository.VerifyAllExpectations();
        }