public void GetDatabase_DatabaseServiceThrowsExceptions_ReturnsValidResults() { // Arrange string dbName = "testDatabase"; Dictionary <Exception, Type> resultsDictionary = new Dictionary <Exception, Type> { { new ArgumentException(), typeof(BadRequestResult) }, { new DbServiceException(), typeof(InternalServerErrorResult) } }; foreach (KeyValuePair <Exception, Type> result in resultsDictionary) { // Arrange - mock dbService this._dbServiceMock.Setup(s => s.GetDatabase(dbName)) .Throws(result.Key); // Arrange - create target DatabaseApiController target = new DatabaseApiController(this._dbServiceMock.Object); // Act IHttpActionResult actionResult = target.GetDatabase(dbName); // Assert Assert.IsInstanceOf(result.Value, actionResult); } }
public void GetDatabase_DatabaseServiceReturnsDatabase_ReturnsDatabaseDto() { // Arrange Database database = new Database { Name = "someDatabase", Tables = { { "firstTable", new Table() }, { "secondTable", new Table() } } }; DatabaseDto dbDto = new DatabaseDto { Name = database.Name, TableNames = database.Tables.Keys }; // Arrange - mock dbService this._dbServiceMock.Setup(s => s.GetDatabase(database.Name)) .Returns(database); // Arrange - create target DatabaseApiController target = new DatabaseApiController(this._dbServiceMock.Object); // Act IHttpActionResult actionResult = target.GetDatabase(database.Name); OkNegotiatedContentResult <DatabaseDto> contentResult = actionResult as OkNegotiatedContentResult <DatabaseDto>; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.AreEqual(dbDto.Name, contentResult.Content.Name); Assert.AreEqual(dbDto.TableNames, contentResult.Content.TableNames); }
public void GetDatabase_DatabaseServiceReturnsNull_ReturnsNotFoundResult() { // Arrange string dbName = "testDatabase"; // Arrange - mock dbService this._dbServiceMock.Setup(s => s.GetDatabase(dbName)) .Returns((Database)null); // Arrange - create target DatabaseApiController target = new DatabaseApiController(this._dbServiceMock.Object); // Act IHttpActionResult actionResult = target.GetDatabase(dbName); // Assert Assert.IsInstanceOf <NotFoundResult>(actionResult); }