public async Task Returns200OnSuccess() { // Arrange // Act var result = await LotsControler.Put(LotKey, _values); // Assert Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); }
public void UtilizesUserIdentityProvider() { // Arrange // Act LotsControler.Put(LotKey, _values); // Assert MockUserIdentityProvider.Verify(m => m.SetUserIdentity(It.IsAny <ISetLotAttributeParameters>()), Times.Once()); }
public void CallsServiceMethodAsExpected() { // Arrange // Act LotsControler.Put(LotKey, _values); // Assert MockLotService.Verify(m => m.SetLotAttributes(It.IsAny <ISetLotAttributeParameters>()), Times.Once()); }
public async Task Returns400IfValuesAreInvalid() { // Arrange LotsControler.ModelState.AddModelError("", "This is invalid."); // Act var result = await LotsControler.Put(LotKey, _values); // Assert Assert.IsNotNull(result); Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); Assert.IsNotNullOrEmpty(result.ReasonPhrase); }
public async Task Returns500OnFailure() { // Arrange const string message = "an error occurred"; MockLotService.Setup(m => m.SetLotAttributes(It.IsAny <ISetLotAttributeParameters>())) .Returns(new FailureResult <ILotStatInfoReturn>(null, message)); // Act var result = await LotsControler.Put(LotKey, _values); // Assert Assert.AreEqual(HttpStatusCode.InternalServerError, result.StatusCode); Assert.AreEqual(message, result.ReasonPhrase); }
public async Task Returns400OnInvalid() { // Arrange const string message = "invalid stuff happened"; MockLotService.Setup(m => m.SetLotAttributes(It.IsAny <ISetLotAttributeParameters>())) .Returns(new InvalidResult <ILotStatInfoReturn>(null, message)); // Act var result = await LotsControler.Put(LotKey, _values); // Assert Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); Assert.AreEqual(message, result.ReasonPhrase); }
public void ParametersAreCorrectlyTranslatedToDto() { // Arrange ISetLotAttributeParameters actualParameters = null; MockLotService.Setup(m => m.SetLotAttributes(It.IsAny <ISetLotAttributeParameters>())) .Callback((ISetLotAttributeParameters p) => actualParameters = p) .Returns(new SuccessResult <ILotStatInfoReturn>()); // Act LotsControler.Put(LotKey, _values); // Assert Assert.IsNotNull(actualParameters); Assert.AreEqual(LotKey, actualParameters.LotKey); Assert.AreEqual(((ISetLotAttributeParameters)_values).Attributes, actualParameters.Attributes); }