void JsonDataをEntityに変換することができる() { var dataStoreMoq = new Mock <IConnpassDataStore>(); var connpassDataRepository = new ConnpassReadOnlyWebsiteWebsiteDataRepository(dataStoreMoq.Object); var targetData = new ConnpassEvent(); ConnpassEventDataEntity item = connpassDataRepository.convert(targetData); }
void コンパスから読み込まれたデータをDBに保存する() { var connpassDataRepositoryMoq = new Mock <IConnpassReadOnlyWebsiteDataRepository>(); var connpassDatabaseRepositoryMoq = new Mock <IConnpassDatabaseRepository>(); var usecase = new RefreshConnpassDataUsecase( connpassDataRepositoryMoq.Object, connpassDatabaseRepositoryMoq.Object ); var dummyData = new List <ConnpassEventDataEntity>(); var dummyEntity = new ConnpassEventDataEntity { Id = 0, title = "タイトル", event_url = "www.yahoo.co.jp", Lat = 1.1, Lon = 1.1, description = "詳細" }; dummyData.Add(dummyEntity); connpassDataRepositoryMoq.Setup(obj => obj.LoadConnpassData(0)).ReturnsAsync(dummyData); usecase.Execute(); connpassDatabaseRepositoryMoq.Verify(obj => obj.SaveEventData(dummyData), Times.Once); }
void イベントURLが存在しない場合は空文字が入っている(string dummyEventUrl) { var dataStoreMoq = new Mock <IConnpassDataStore>(); var connpassDataRepository = new ConnpassReadOnlyWebsiteWebsiteDataRepository(dataStoreMoq.Object); var targetData = new ConnpassEvent { title = dummyEventUrl }; ConnpassEventDataEntity item = connpassDataRepository.convert(targetData); Assert.Equal("", item.title); }
void すでに同じIDを持つデータ存在していることを判定することができる() { using (var mock = new InmemoryDbTestMock <MeetupsApiContext>()) { var context = mock.Context(); var targetEntity = new ConnpassEventDataEntity(); context.ConnpassEventDataEntities.Add(targetEntity); context.SaveChanges(); var target = new ConnpassDatabaseRepository(context); Assert.True(target.exitsEntity(targetEntity)); } }
void イベントデータを保存することができる() { using (var mock = new InmemoryDbTestMock <MeetupsApiContext>()) { var connpassDatabaseRepository = new ConnpassDatabaseRepository(mock.Context()); var dummyEventData = new List <ConnpassEventDataEntity>(); var entity = new ConnpassEventDataEntity(); dummyEventData.Add(entity); connpassDatabaseRepository.SaveEventData(dummyEventData); Assert.Equal(1, mock.Context().ConnpassEventDataEntities.Count()); } }
void 換されたEntityにはURLが保存されている() { var dataStoreMoq = new Mock <IConnpassDataStore>(); var connpassDataRepository = new ConnpassReadOnlyWebsiteWebsiteDataRepository(dataStoreMoq.Object); var dummyEventUrl = "www.yahoo.co.jp"; var targetData = new ConnpassEvent { event_url = dummyEventUrl }; ConnpassEventDataEntity item = connpassDataRepository.convert(targetData); Assert.Equal(dummyEventUrl, item.event_url); }
void 換されたDomainEntityにはタイトルが保存されている() { var dataStoreMoq = new Mock <IConnpassDataStore>(); var connpassDataRepository = new ConnpassReadOnlyWebsiteWebsiteDataRepository(dataStoreMoq.Object); var dummyTitle = ""; var targetData = new ConnpassEvent { title = dummyTitle }; ConnpassEventDataEntity item = connpassDataRepository.convert(targetData); Assert.Equal(dummyTitle, item.title); }
void 重複するデータを書き込むと上書きされる() { using (var mock = new InmemoryDbTestMock <MeetupsApiContext>()) { var connpassDatabaseRepository = new ConnpassDatabaseRepository(mock.Context()); var dummyEventData = new List <ConnpassEventDataEntity>(); var entity = new ConnpassEventDataEntity { Id = 12, title = "タイトル1" }; dummyEventData.Add(entity); connpassDatabaseRepository.SaveEventData(dummyEventData); } using (var mock = new InmemoryDbTestMock <MeetupsApiContext>()) { var connpassDatabaseRepository = new ConnpassDatabaseRepository(mock.Context()); var dummyEventData2 = new List <ConnpassEventDataEntity>(); var entity2 = new ConnpassEventDataEntity { Id = 12, title = "タイトル2" }; dummyEventData2.Add(entity2); connpassDatabaseRepository.SaveEventData(dummyEventData2); Assert.Equal(1, mock.Context().ConnpassEventDataEntities.Count()); Assert.Equal( entity2.title, mock.Context().ConnpassEventDataEntities.First().title ); } }
public ConnpassEventDataEntity convert(ConnpassEvent targetData) { var entity = new ConnpassEventDataEntity(); entity.Id = targetData.event_id; entity.title = targetData.title ?? ""; entity.event_url = targetData.event_url ?? ""; entity.description = targetData.description ?? ""; entity.catchMesagge = targetData._catch; entity.hash_tag = targetData.hash_tag; entity.started_at = targetData.started_at; entity.ended_at = targetData.ended_at; int ToInt( string value, int defaultValue = 0) => int.TryParse(value, out var i) ? int.Parse(value) : defaultValue; entity.limit = targetData.limit ?? 0; entity.accepted = targetData.accepted; entity.waiting = targetData.waiting; entity.updated_at = targetData.updated_at; entity.event_type = targetData.event_type; entity.address = targetData.address; entity.owned_id = targetData.owner_id; entity.owned_nickname = targetData.owner_nickname; entity.owner_display_name = targetData.owner_display_name; double ToDouble( string value, double defaultValue = double.MaxValue ) => double.TryParse(value, out var i) ? double.Parse(value) : defaultValue; entity.Lon = ToDouble(targetData.lon); entity.Lat = ToDouble(targetData.lat); return(entity); }
void じIDを持ったデータが存在していないことを判定することができる() { using (var mock = new InmemoryDbTestMock <MeetupsApiContext>()) { var target = new ConnpassDatabaseRepository(mock.Context()); var targetEntity = new ConnpassEventDataEntity { Id = 114514 }; Assert.False(target.exitsEntity(targetEntity)); var writingEntityList = new List <ConnpassEventDataEntity>(); writingEntityList.Add( new ConnpassEventDataEntity { Id = 810 } ); target.SaveEventData(writingEntityList); Assert.False(target.exitsEntity(targetEntity)); } }
public bool exitsEntity(ConnpassEventDataEntity entity) => _meetupsApiContext.ConnpassEventDataEntities.Count(item => item.Id == entity.Id) != 0;