public async Task Post_ShouldCallHelper() { //Arrange var expectedId = 1; var expectedImageName = "testImageName"; var expectedImageContentUri = "https://whoisthatserverimages.blob.core.windows.net/images/Domantas_test.jpg"; var expectedPersonFirstName = "testFirstName"; var expectedPersonLastName = "testLastName"; var expectedDescriptiveSentence = "t1"; var expectedScore = 1; var expectedDatabaseImageElement = new DatabaseImageElement() { Id = expectedId, ImageContentUri = expectedImageContentUri, ImageName = expectedImageName, PersonFirstName = expectedPersonFirstName, PersonLastName = expectedPersonLastName, DescriptiveSentence = expectedDescriptiveSentence, Score = expectedScore }; var fakeDatabaseImageElementHelper = A.Fake <IDatabaseImageElementHelper>(); A.CallTo(() => fakeDatabaseImageElementHelper.InsertNewImageElement(expectedId, expectedImageName, expectedImageContentUri, expectedPersonFirstName, expectedPersonLastName, expectedDescriptiveSentence, expectedScore)) .Returns(expectedDatabaseImageElement); var databaseImageElementController = new DatabaseImageElementController() { DatabaseImageElementHelper = fakeDatabaseImageElementHelper, Request = new HttpRequestMessage() }; //Act var result = databaseImageElementController.Post(expectedDatabaseImageElement); //Assert A.CallTo(() => fakeDatabaseImageElementHelper.InsertNewImageElement(expectedId, expectedImageName, expectedImageContentUri, expectedPersonFirstName, expectedPersonLastName, expectedDescriptiveSentence, expectedScore)) .MustHaveHappenedOnceExactly(); var httpResponse = await result.ExecuteAsync(new CancellationToken()); var jsonContent = await httpResponse.Content.ReadAsStringAsync(); var expectedJson = JsonConvert.SerializeObject(expectedDatabaseImageElement); jsonContent.ShouldBe(expectedJson); }
protected async void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); //Testing Azure Blob Controller AzureBlobController azureBlobController = new AzureBlobController(); DatabaseImageElementController test = new DatabaseImageElementController(); HttpClient client = new HttpClient(); /* * string firstTest = azureBlobController.GetImageUri("Domantas_test_2.jpg"); * DatabaseImageElement databaseImageElement = new DatabaseImageElement() * { * ImageName = "Domantas_test_2.jpg", * ImageContentUri = firstTest, * PersonFirstName = "Domantas", * PersonLastName = "WorkPls", * DescriptiveSentence = "Very descriptive sentence", * Score = 0 * }; * test.Post(databaseImageElement); * //string firstRestUrl = "https://testrecognition.azurewebsites.net/api/recognitionservices/insert"; * //HttpResponseMessage firstResponse = await client.PostAsJsonAsync( * // firstRestUrl, databaseImageElement); * * string secondTest = azureBlobController.GetImageUri("Luktas_test.jpg"); * DatabaseImageElement databaseImageElementSec = new DatabaseImageElement() * { * ImageName = "Luktas_test.jpg", * ImageContentUri = secondTest, * PersonFirstName = "Lukas", * PersonLastName = "Elenbergas", * DescriptiveSentence = "Something bad", * Score = 0 * }; * test.Post(databaseImageElementSec); * //string restUrl = "https://testrecognition.azurewebsites.net/api/recognitionservices/insert"; * //HttpResponseMessage response = await client.PostAsJsonAsync( * // restUrl, databaseImageElementSec); * * //string restUrl = "https://testrecognition.azurewebsites.net/api/recognitionservices/create"; * //HttpResponseMessage response = await client.GetAsync( * // restUrl); */ }
public async Task UpdateScore_ShouldCallHelper() { //Arrange var expectedScore = 1; var expectedElement = new DatabaseImageElement() { Id = 1, DescriptiveSentence = "t", ImageContentUri = "t", ImageName = "t", PersonFirstName = "t", PersonLastName = "t", Score = 0 }; var fakeDatabaseImageElementHelper = A.Fake <IDatabaseImageElementHelper>(); A.CallTo(() => fakeDatabaseImageElementHelper.UpdateScore(expectedElement.Id)).Returns(expectedElement); var databaseImageElementController = new DatabaseImageElementController() { DatabaseImageElementHelper = fakeDatabaseImageElementHelper, Request = new HttpRequestMessage() }; //Act var result = databaseImageElementController.UpdateScore(expectedElement.Id); //Assert A.CallTo(() => fakeDatabaseImageElementHelper.UpdateScore(expectedElement.Id)) .MustHaveHappenedOnceExactly(); var httpResponse = await result.ExecuteAsync(new CancellationToken()); var jsonContent = await httpResponse.Content.ReadAsStringAsync(); var expectedJson = JsonConvert.SerializeObject(expectedElement); jsonContent.ShouldBe(expectedJson); }