Skip to content
This repository has been archived by the owner on Sep 11, 2021. It is now read-only.

Commit

Permalink
bucket list item tests done
Browse files Browse the repository at this point in the history
  • Loading branch information
Eric Helin committed Dec 1, 2019
1 parent 4eada4f commit 375a1bd
Show file tree
Hide file tree
Showing 3 changed files with 192 additions and 28 deletions.
29 changes: 29 additions & 0 deletions TestHttpAPINetCore-Unit/BaseTest.cs
@@ -0,0 +1,29 @@
using Shared.dto.api;

namespace TestHttpAPINetCore_Unit
{
public class BaseTest
{
protected TokenRequest SetTokenRequest(string userName = "userName", string token = "token")
{
var login = new TokenRequest()
{
EncodedUserName = userName,
EncodedToken = token
};

return login;
}

protected LoginRequest SetLoginRequest(string userName = "userName", string password = "password")
{
var login = new LoginRequest()
{
EncodedUserName = userName,
EncodedPassword = password
};

return login;
}
}
}
161 changes: 161 additions & 0 deletions TestHttpAPINetCore-Unit/BucketListTests.cs
@@ -0,0 +1,161 @@
using System;
using HttpAPINetCore.Controllers;
using Microsoft.AspNetCore.Mvc;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using Shared.dto.api;
using Shared.dto;
using Shared.interfaces;

namespace TestHttpAPINetCore_Unit
{
[TestClass]
public class BucketListTests : BaseTest
{
#region DeleteBucketListItem

[TestMethod]
public void DeleteBucketListItem_HappyPathTest()
{
var tgimbaService = new Mock<ITgimbaService>();
var validationHelper = new Mock<IValidationHelper>();
var tgimbaApi = new TgimbaApiController(tgimbaService.Object, validationHelper.Object);
var request = new DeleteBucketListItemRequest()
{
BucketListItemId = 1,
Token = SetTokenRequest()
};

IActionResult result = tgimbaApi.DeleteBucketListItem(request);
OkObjectResult requestResult = (OkObjectResult)result;

Assert.IsNotNull(requestResult);
Assert.AreEqual(200, requestResult.StatusCode);
tgimbaService.Verify(x => x.DeleteBucketListItem(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<string>()), Times.Once);
tgimbaService.Verify(x => x.Log(It.IsAny<string>()), Times.Never);
}

[TestMethod]
public void DeleteBucketListItem_ErrorTest()
{
var tgimbaService = new Mock<ITgimbaService>();
var validationHelper = new Mock<IValidationHelper>();
var tgimbaApi = new TgimbaApiController(tgimbaService.Object, validationHelper.Object);
var request = new DeleteBucketListItemRequest()
{
BucketListItemId = 1,
Token = SetTokenRequest()
};

validationHelper.Setup(x => x.IsValidRequest
(It.IsAny<DeleteBucketListItemRequest>()))
.Throws(new ArgumentNullException(""));

IActionResult result = tgimbaApi.DeleteBucketListItem(request);
BadRequestResult requestResult = (BadRequestResult)result;

Assert.IsNotNull(requestResult);
Assert.AreEqual(400, requestResult.StatusCode);
tgimbaService.Verify(x => x.DeleteBucketListItem(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<string>()), Times.Never);
tgimbaService.Verify(x => x.Log(It.Is<string>(s => s.Contains("400 BadRequest"))), Times.Once);
}

#endregion

#region GetBucketListItem

[TestMethod]
public void GetBucketListItem_HappyPathTest()
{
var tgimbaService = new Mock<ITgimbaService>();
var validationHelper = new Mock<IValidationHelper>();
var tgimbaApi = new TgimbaApiController(tgimbaService.Object, validationHelper.Object);
var request = new GetBucketListItemRequest()
{
Token = SetTokenRequest()
};

IActionResult result = tgimbaApi.GetBucketListItem(request);
OkObjectResult requestResult = (OkObjectResult)result;

Assert.IsNotNull(requestResult);
Assert.AreEqual(200, requestResult.StatusCode);
tgimbaService.Verify(x => x.GetBucketListItems(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Once);
tgimbaService.Verify(x => x.Log(It.IsAny<string>()), Times.Never);
}

[TestMethod]
public void GetBucketListItem_ErrorTest()
{
var tgimbaService = new Mock<ITgimbaService>();
var validationHelper = new Mock<IValidationHelper>();
var tgimbaApi = new TgimbaApiController(tgimbaService.Object, validationHelper.Object);
var request = new GetBucketListItemRequest()
{
Token = SetTokenRequest()
};

validationHelper.Setup(x => x.IsValidRequest
(It.IsAny<GetBucketListItemRequest>()))
.Throws(new ArgumentNullException(""));

IActionResult result = tgimbaApi.GetBucketListItem(request);
BadRequestResult requestResult = (BadRequestResult)result;

Assert.IsNotNull(requestResult);
Assert.AreEqual(400, requestResult.StatusCode);
tgimbaService.Verify(x => x.GetBucketListItems(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Never);
tgimbaService.Verify(x => x.Log(It.Is<string>(s => s.Contains("400 BadRequest"))), Times.Once);
}

#endregion

#region GetBucketListItem

[TestMethod]
public void UpsertBucketListItem_HappyPathTest()
{
var tgimbaService = new Mock<ITgimbaService>();
var validationHelper = new Mock<IValidationHelper>();
var tgimbaApi = new TgimbaApiController(tgimbaService.Object, validationHelper.Object);
var request = new UpsertBucketListItemRequest()
{
Token = SetTokenRequest()
};

IActionResult result = tgimbaApi.UpsertBucketListItem(request);
OkObjectResult requestResult = (OkObjectResult)result;

Assert.IsNotNull(requestResult);
Assert.AreEqual(200, requestResult.StatusCode);
tgimbaService.Verify(x => x.UpsertBucketListItem(It.IsAny<BucketListItem>(), It.IsAny<string>(), It.IsAny<string>()), Times.Once);
tgimbaService.Verify(x => x.Log(It.IsAny<string>()), Times.Never);
}

[TestMethod]
public void UpsertBucketListItem_ErrorTest()
{
var tgimbaService = new Mock<ITgimbaService>();
var validationHelper = new Mock<IValidationHelper>();
var tgimbaApi = new TgimbaApiController(tgimbaService.Object, validationHelper.Object);
var request = new UpsertBucketListItemRequest()
{
Token = SetTokenRequest()
};

validationHelper.Setup(x => x.IsValidRequest
(It.IsAny<UpsertBucketListItemRequest>()))
.Throws(new ArgumentNullException(""));

IActionResult result = tgimbaApi.UpsertBucketListItem(request);
BadRequestResult requestResult = (BadRequestResult)result;

Assert.IsNotNull(requestResult);
Assert.AreEqual(400, requestResult.StatusCode);
tgimbaService.Verify(x => x.UpsertBucketListItem(It.IsAny<BucketListItem>(), It.IsAny<string>(), It.IsAny<string>()), Times.Never);
tgimbaService.Verify(x => x.Log(It.Is<string>(s => s.Contains("400 BadRequest"))), Times.Once);
}

#endregion
}
}
30 changes: 2 additions & 28 deletions TestHttpAPINetCore-Unit/helpers/ValidateHelperTests.cs
Expand Up @@ -3,11 +3,12 @@
using Shared.interfaces;
using System;
using Shared.dto.api;
using TestHttpAPINetCore_Unit;

namespace TestAPINetCore_Unit.helpers
{
[TestClass]
public class ValidateHelperTests
public class ValidateHelperTests : BaseTest
{
private IValidationHelper sut = null;

Expand Down Expand Up @@ -52,7 +53,6 @@ bool validationErrorExpected

#endregion


#region IsValidRequest - GetBucketListItemRequest

[DataTestMethod]
Expand Down Expand Up @@ -238,31 +238,5 @@ bool validationErrorExpected
}

#endregion

#region Private methods

private TokenRequest SetTokenRequest(string userName = "userName", string token = "token")
{
var login = new TokenRequest()
{
EncodedUserName = userName,
EncodedToken = token
};

return login;
}

private LoginRequest SetLoginRequest(string userName = "userName", string password = "password")
{
var login = new LoginRequest()
{
EncodedUserName = userName,
EncodedPassword = password
};

return login;
}

#endregion
}
}

0 comments on commit 375a1bd

Please sign in to comment.