public void GivenEventMessage_WhenAskingToSendNeed_ThenItShouldReturnEventData() { // arrange EventData expected = new EventData(Encoding.UTF8.GetBytes("{'Dammit':'Bobby!'}")); FakeEventMessage fakeEventMessage = new FakeEventMessage(expected); Need need = new Need(fakeEventMessage, new FakeEventHubClient()); // act EventData actual = need.SendAsync().Result; // assert actual.Should().Be(expected); }
public void GivenEventMessage_WhenAskingToSendNeed_ThenItShouldCallEventHubClient() { // arrange EventData expected = new EventData(Encoding.UTF8.GetBytes("{'Dammit':'Bobby!'}")); FakeEventMessage fakeEventMessage = new FakeEventMessage(expected); FakeEventHubClient fakeEventHubClient = new FakeEventHubClient(); Need need = new Need(fakeEventMessage, fakeEventHubClient); // act Func <Task> func = async() => await need.SendAsync(); func.Invoke(); // assert fakeEventHubClient.CallCount.Should().Be(1); }
public void GivenFulfilledNeed_WhenAskingForValue_ThenItShouldReturnCorrectValue() { // arrange FakeEventMessage fakeEventMessage = new FakeEventMessage(new EventData(new ArraySegment <byte>())); FakeNeed fakeNeed = new FakeNeed(); const string stricklandPropaneLlc = "Strickland Propane, LLC"; ExpandoObject expected = JsonConvert.DeserializeObject <ExpandoObject>($"{{'BusinessName':'{stricklandPropaneLlc}'}}"); FakeResult fakeResult = new FakeResult(expected); INeedActivity needActivity = new Privateer().Object <GoogazonActivities.TopicNeedActivity.TopicNeedActivity>(fakeEventMessage, fakeNeed, fakeResult); // act dynamic actual = needActivity.ValueAsync().Result; // assert ((ExpandoObject)actual).Should().BeEquivalentTo(expected); ((string)actual.BusinessName).Should().Be(stricklandPropaneLlc); }
public void GivenNeed_WhenAskingToExpressNeed_ThenItShouldCallExpressNeed() { // arrange FakeEventMessage fakeEventMessage = new FakeEventMessage(new EventData(new ArraySegment <byte>())); FakeNeed fakeNeed = new FakeNeed(); const string stricklandPropaneLlc = "Strickland Propane, LLC"; ExpandoObject expected = JsonConvert.DeserializeObject <ExpandoObject>($"{{'BusinessName':'{stricklandPropaneLlc}'}}"); FakeResult fakeResult = new FakeResult(expected); INeedActivity needActivity = new Privateer().Object <GoogazonActivities.TopicNeedActivity.TopicNeedActivity>(fakeEventMessage, fakeNeed, fakeResult); // act Func <Task> func = async() => await needActivity.ExpressNeed(); func.Invoke(); // assert fakeNeed.CallCountSpy.Should().Be(1); }