public void Execute_ItemsAddedToCache() { var request = ExpectedRequests.MapRequestForKey(_knownLocations.First().Key); _sut.Execute(request, _logger).AsFile(); Assert.That(_cache.Count, Is.EqualTo(1)); }
public void Execute_ForKnownKey_ReturnsJpegContentType(string key) { var request = ExpectedRequests.MapRequestForKey(key); var response = _sut.Execute(request, _logger).AsFile(); Assert.That(response.ContentType, Is.EqualTo("image/jpeg")); }
public async Task Run_KnownLocation_LocationMapHasCaption() { var request = ExpectedRequests.WhereIsFor("Foo"); var response = await _sut.Execute(request, _logger).AsSlackResponse(); Assert.That(response.attachments[0].text, Is.EqualTo("Foo is marked on the map.")); }
public void Execute_NoValidKeyProvided_Returns404(string key) { var request = ExpectedRequests.MapRequestForKey(key); var response = _sut.Execute(request, _logger); Assert.That(response, Is.InstanceOf <NotFoundResult>()); }
public async Task Run_MisspeltLocation_ReturnsLocation() { var request = ExpectedRequests.WhereIsFor("Fop"); var response = await _sut.Execute(request, _logger).AsSlackResponse(); Assert.That(response.text, Is.EqualTo("Foo")); }
public async Task Run_NoValidDetailsFound_ReturnsFriendlyError() { var request = ExpectedRequests.WhereIsFor(null); var response = await _sut.Execute(request, _logger).AsSlackResponse(); Assert.That(response.text, Is.EqualTo("Sorry! We can't find that place either.")); }
public async Task Run_KnownLocation_ReturnsLocationMap() { var request = ExpectedRequests.WhereIsFor("Foo"); var response = await _sut.Execute(request, _logger).AsSlackResponse(); Assert.That(response.attachments[0].image_url, Is.EqualTo("https://localhost/api/Map?code=key123&key=foo")); }
public async Task Run_NoLocationRequested_ReturnsFriendlyError(string messageContents) { var request = ExpectedRequests.CapacityFor(messageContents); var response = await _sut.Execute(request, _logger).AsSlackResponse(); Assert.That(response.text, Is.EqualTo("Sorry! You need to specify a location.")); }
public async Task Run_KnownLocationRequested_LogsCheckinRequest() { var request = ExpectedRequests.CheckInFor("gracechurch::245-210"); var response = await _sut.Execute(request, _logger) as JsonResult; Assert.That(_capacityService.Called, Is.True); }
public async Task Run_KnownLocationRequested_ThanksUserAtTheEnd() { var request = ExpectedRequests.CheckInFor("gracechurch::245-210"); var response = await _sut.Execute(request, _logger) as JsonResult; Assert.That(response.Value.ToString(), Is.EqualTo("{ message = Thanks for checking in! }")); }
public async Task Run_KnownLocationRequested_ReturnsHintAsToAvailability() { var request = ExpectedRequests.CheckInFor("gracechurch::245-210"); var response = await _sut.Execute(request, _logger) as JsonResult; Assert.That(response.StatusCode, Is.EqualTo(StatusCodes.Status200OK)); }
public async Task Run_NoLocationRequested_ReturnsBadRequest(string messageContents) { var request = ExpectedRequests.CheckInFor(messageContents); var response = await _sut.Execute(request, _logger) as BadRequestResult; Assert.That(response.StatusCode, Is.EqualTo(StatusCodes.Status400BadRequest)); }
public void Execute_ForKnownKey_ReturnsJpegFileFromImageGenerator() { _fakeGenerator.Returns = new byte[] { 1, 2, 3, 4 }; var request = ExpectedRequests.MapRequestForKey(_knownLocations.First().Key); var response = _sut.Execute(request, _logger).AsFile(); Assert.That(response.FileContents, Is.EqualTo(_fakeGenerator.Returns)); }
public void Execute_MultipleRequestsForSameKey_ImageSourcedFromCache() { var request = ExpectedRequests.MapRequestForKey(_knownLocations.First().Key); _sut.Execute(request, _logger).AsFile(); _sut.Execute(request, _logger).AsFile(); Assert.That(_fakeGenerator.Called, Is.EqualTo(1)); }
public async Task Run_KnownLocationRequested_IncludesAHeatMapImage() { var request = ExpectedRequests.CapacityFor("gracechurch"); var response = await _sut.Execute(request, _logger).AsSlackResponse(); Assert.That(response.attachments.Single().image_url, Is.Not.Null); Assert.That(response.attachments.Single().image_url, Does.Contain("HeatMap")); }
public async Task Run_KnownLocationRequested_ReturnsHintAsToAvailability(string locName) { var request = ExpectedRequests.CapacityFor(locName); var capacity = new Random().Next(0, 100); var used = new Random().Next(0, 100); _knownLocations.Last().Capacity = capacity; _capacityService.ReturnsThis = used; var response = await _sut.Execute(request, _logger).AsSlackResponse(); Assert.That(response.text, Is.EqualTo($"There are {used} of {capacity} desks used in {locName}.")); Assert.That(response.attachments.Single().image_url, Is.Not.Null); }