in Facebook/ConnectorTest/JobProcessorFBTest.cs [144:172]
public async Task FetchUpdatedPostsUnitTest()
{
ConnectorTask taskInfo = new ConnectorTask();
taskInfo.StartTime = DateTime.Parse("2018-01-09");
taskInfo.EndTime = DateTime.Parse("2018-01-11");
taskInfo.JobId = "job1";
taskInfo.TaskId = "task1";
taskInfo.TenantId = "tenant1";
taskInfo.DirtyEntities = new List<string>()
{
"a",
"b"
};
var mockDownloader = new Mock<IDownloader>();
mockDownloader.SetupSequence(x => x.GetWebContent<PostListFB, ErrorsFB>(It.IsAny<string>(), It.IsAny<AuthenticationHeaderValue>()))
.ReturnsAsync(JsonConvert.DeserializeObject<PostListFB>("{\"data\": []}"));
mockDownloader.SetupSequence(x => x.GetWebContent<Dictionary<string, PostFB>, ErrorsFB>(It.IsAny<string>(), It.IsAny<AuthenticationHeaderValue>()))
.ReturnsAsync(JsonConvert.DeserializeObject<Dictionary<string, PostFB>>(File.ReadAllText(@"FakeData\FakeDirtyPosts.json")));
FakeUploader uploader = new FakeUploader();
JobProcessorFB job = new JobProcessorFB(mockDownloader.Object, uploader);
string sourceInfo = "{\"PageId\":\"123\",\"AccessToken\":\"Fake\",\"PageName\":\"Fake123\"}";
await job.FetchData(taskInfo, sourceInfo);
Assert.AreEqual(uploader.fakeStorage.Count, 2);
}