Skip to content

Commit

Permalink
Merge pull request #224 from YuraRov/BE_YR_Finish_FinalDemo
Browse files Browse the repository at this point in the history
Finished preparing to the last demo
  • Loading branch information
scrooge1987 authored Jul 27, 2022
2 parents 3c4be48 + 6a6e737 commit f7a01d2
Show file tree
Hide file tree
Showing 23 changed files with 123 additions and 149 deletions.
12 changes: 2 additions & 10 deletions Application/Services/AddressService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,10 @@ public async Task CreateAddressAsync(Address newAddress)
_loggerManager.LogInfo($"Address for user with ID = {newAddress.UserId} was created");
}

public async Task UpdateAddressAsync(Address updatedAddress)
public async Task UpdateAddressAsync(Address oldAddress)
{
var address = await GetAddressByUserIdAsync(updatedAddress.UserId);

address.City = updatedAddress.City;
address.Street = updatedAddress.Street;
address.House = updatedAddress.House;
address.ApartmentNumber = updatedAddress.ApartmentNumber;
address.ZipCode = updatedAddress.ZipCode;

await _addressRepository.SaveChangesAsync();
_loggerManager.LogInfo($"Address for user with ID = {updatedAddress.UserId} was updated");
_loggerManager.LogInfo($"Address for user with ID = {oldAddress.UserId} was updated");
}

public async Task DeleteAddressByUserIdAsync(int id)
Expand Down
2 changes: 1 addition & 1 deletion Core/Interfaces/Services/IAddressService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ public interface IAddressService
Task<Address> GetAddressByUserIdAsync(int id);
Task<IEnumerable<Address>> GetAllAddressesAsync();
Task CreateAddressAsync(Address newAddress);
Task UpdateAddressAsync(Address updatedAddress);
Task UpdateAddressAsync(Address oldAddress);
Task DeleteAddressByUserIdAsync(int id);
}
}
11 changes: 0 additions & 11 deletions Core/ViewModels/AddressViewModels/AddressBaseViewModel.cs

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
namespace Core.ViewModels.AddressViewModels
{
public class AddressCreateReadViewModel : AddressBaseViewModel
public class AddressCreateReadViewModel
{
public int Id { get; set; }
public string? City { get; set; }
public string? Street { get; set; }
public string? House { get; set; }
public string? ZipCode { get; set; }
public ushort? ApartmentNumber { get; set; }
}
}
7 changes: 7 additions & 0 deletions Core/ViewModels/AddressViewModels/AddressUpdateViewModel.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Core.ViewModels.AddressViewModels
{
public class AddressUpdateViewModel : AddressCreateReadViewModel
{

}
}
10 changes: 1 addition & 9 deletions Tests/Application.Test/AddressServiceTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -197,12 +197,6 @@ public async Task CreateAddressAsync_WhenUserAddressWasDefinedAlready_ThenBadReq
[Fact]
public async Task UpdateAddressAsync_WhenAddressIsCorrect_ThenItIsUpdatedSuccessfullyAndTaskIsReturned()
{
_fixture.MockAddressRepository
.Setup(repository => repository.GetById(
It.Is<int>(userId => userId == _fixture.TestAddress.UserId),
It.IsAny<string>()))
.ReturnsAsync(_fixture.TestAddress);

_fixture.MockLoggerManager
.Setup(logger => logger.LogInfo(It.IsAny<string>()))
.Verifiable();
Expand All @@ -212,9 +206,7 @@ public async Task UpdateAddressAsync_WhenAddressIsCorrect_ThenItIsUpdatedSuccess

// Assert
_fixture.MockAddressRepository
.Verify(repository => repository.GetById(
It.Is<int>(userId => userId == _fixture.TestAddress.UserId),
It.IsAny<string>()), Times.Once);
.Verify(repository => repository.SaveChangesAsync(), Times.Once);

_fixture.MockLoggerManager
.Verify();
Expand Down
12 changes: 6 additions & 6 deletions Tests/WebApi.Test/AddressControllerTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public async Task GetAsync_WhenListOfAddressesIsEmpty_ThenEmptyListOfAddressCrea
}

[Fact]
public async Task GetAsync_WhenUserIdIsCorrect_ThenAddressBaseViewModelIsReturned()
public async Task GetAsync_WhenUserIdIsCorrect_ThenAddressUpdateViewModelIsReturned()
{
// Arrange
_fixture.MockAddressService
Expand All @@ -103,7 +103,7 @@ public async Task GetAsync_WhenUserIdIsCorrect_ThenAddressBaseViewModelIsReturne

_fixture.MockAddressReadViewModelMapper
.Setup(mapper => mapper.Map(It.IsAny<Address>()))
.Returns(_fixture.FullAddressBaseViewModel)
.Returns(_fixture.FullAddressCreateReadViewModel)
.Verifiable();

// Act
Expand All @@ -117,7 +117,7 @@ public async Task GetAsync_WhenUserIdIsCorrect_ThenAddressBaseViewModelIsReturne
.Verify();

Assert.NotNull(result);
Assert.IsType<AddressBaseViewModel>(result);
Assert.IsType<AddressCreateReadViewModel>(result);
}

[Fact]
Expand Down Expand Up @@ -148,7 +148,7 @@ public async Task CreateAsync_WhenAddressCreateReadViewModelIsCorrect_ThenNoCont
}

[Fact]
public async Task UpdateAsync_WhenAddressBaseViewModelIsCorrect_ThenNoContentResultIsReturned()
public async Task UpdateAsync_WhenAddressUpdateViewModelIsCorrect_ThenNoContentResultIsReturned()
{
// Arrange
_fixture.MockAddressService
Expand All @@ -157,15 +157,15 @@ public async Task UpdateAsync_WhenAddressBaseViewModelIsCorrect_ThenNoContentRes

_fixture.MockAddressUpdateMapper
.Setup(mapper => mapper.Map(
It.IsAny<AddressBaseViewModel>(),
It.IsAny<AddressUpdateViewModel>(),
It.IsAny<Address>()));

_fixture.MockAddressService
.Setup(service => service.UpdateAddressAsync(It.IsAny<Address>()))
.Returns(Task.FromResult<object?>(null));

// Act
var result = await _fixture.MockAddressController.UpdateAsync(_fixture.UserId, _fixture.FullAddressBaseViewModel);
var result = await _fixture.MockAddressController.UpdateAsync(_fixture.UserId, _fixture.FullAddressUpdateViewModel);

// Assert
_fixture.MockAddressService
Expand Down
18 changes: 9 additions & 9 deletions Tests/WebApi.Test/Fixtures/AddressControllerFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ public AddressControllerFixture()

MockAddressService = fixture.Freeze<Mock<IAddressService>>();
MockAddressCreateMapper = fixture.Freeze<Mock<IViewModelMapper<AddressCreateReadViewModel, Address>>>();
MockAddressReadViewModelMapper = fixture.Freeze<Mock<IViewModelMapper<Address, AddressBaseViewModel>>>();
MockAddressUpdateMapper = fixture.Freeze<Mock<IViewModelMapperUpdater<AddressBaseViewModel, Address>>>();
MockAddressReadViewModelMapper = fixture.Freeze<Mock<IViewModelMapper<Address, AddressCreateReadViewModel>>>();
MockAddressUpdateMapper = fixture.Freeze<Mock<IViewModelMapperUpdater<AddressUpdateViewModel, Address>>>();
MockAddressReadEnumerableViewModelMapper = fixture
.Freeze<Mock<IEnumerableViewModelMapper<IEnumerable<Address>, IEnumerable<AddressCreateReadViewModel>>>>();

Expand All @@ -32,7 +32,7 @@ public AddressControllerFixture()

UserId = 1;
FullAddress = GenerateAddress();
FullAddressBaseViewModel = GenerateAddressBaseViewModel();
FullAddressUpdateViewModel = GenerateAddressUpdateViewModel();
FullAddressCreateReadViewModel = GenerateAddressCreateReadViewModel();
Addresses = GenerateListOfAddresses();
AddressCreateReadViewModels = GenerateListOfAddressCreateReadViewModels();
Expand All @@ -41,16 +41,16 @@ public AddressControllerFixture()
public AddressController MockAddressController { get; }
public Mock<IAddressService> MockAddressService { get; }
public Mock<IViewModelMapper<AddressCreateReadViewModel, Address>> MockAddressCreateMapper { get; }
public Mock<IViewModelMapper<Address, AddressBaseViewModel>> MockAddressReadViewModelMapper { get; }
public Mock<IViewModelMapperUpdater<AddressBaseViewModel, Address>> MockAddressUpdateMapper { get; }
public Mock<IViewModelMapper<Address, AddressCreateReadViewModel>> MockAddressReadViewModelMapper { get; }
public Mock<IViewModelMapperUpdater<AddressUpdateViewModel, Address>> MockAddressUpdateMapper { get; }
public Mock<IEnumerableViewModelMapper<IEnumerable<Address>, IEnumerable<AddressCreateReadViewModel>>> MockAddressReadEnumerableViewModelMapper
{
get;
}

public int UserId { get; }
public Address FullAddress { get; }
public AddressBaseViewModel FullAddressBaseViewModel { get; }
public AddressUpdateViewModel FullAddressUpdateViewModel { get; }
public AddressCreateReadViewModel FullAddressCreateReadViewModel { get; }
public IEnumerable<Address> Addresses { get; }
public IEnumerable<AddressCreateReadViewModel> AddressCreateReadViewModels { get; }
Expand All @@ -62,11 +62,11 @@ private Address GenerateAddress()
return address;
}

private AddressBaseViewModel GenerateAddressBaseViewModel()
private AddressUpdateViewModel GenerateAddressUpdateViewModel()
{
var addressBaseViewModel = new AddressBaseViewModel { City = "Lviv", Street = "Franka", House = "20A", ApartmentNumber = 10, ZipCode = "79007" };
var AddressUpdateViewModel = new AddressUpdateViewModel { City = "Lviv", Street = "Franka", House = "20A", ApartmentNumber = 10, ZipCode = "79007" };

return addressBaseViewModel;
return AddressUpdateViewModel;
}

private AddressCreateReadViewModel GenerateAddressCreateReadViewModel()
Expand Down
4 changes: 2 additions & 2 deletions Tests/WebApi.Test/Fixtures/PortfolioControllerFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public PortfolioControllerFixture()

MockPortfolioService = fixture.Freeze<Mock<IPortfolioService>>();
MockPortfolioCreateMapper = fixture.Freeze<Mock<IViewModelMapper<PortfolioCreateReadViewModel, Portfolio>>>();
MockPortfolioReadViewModelMapper = fixture.Freeze<Mock<IViewModelMapper<Portfolio, PortfolioBaseViewModel>>>();
MockPortfolioReadViewModelMapper = fixture.Freeze<Mock<IViewModelMapper<Portfolio, PortfolioCreateReadViewModel>>>();
MockPortfolioUpdateMapper = fixture.Freeze<Mock<IViewModelMapperUpdater<PortfolioBaseViewModel, Portfolio>>>();
MockPortfolioReadEnumerableViewModelMapper = fixture
.Freeze<Mock<IEnumerableViewModelMapper<IEnumerable<Portfolio>, IEnumerable<PortfolioCreateReadViewModel>>>>();
Expand All @@ -41,7 +41,7 @@ public PortfolioControllerFixture()
public PortfolioController MockPortfolioController { get; }
public Mock<IPortfolioService> MockPortfolioService { get; }
public Mock<IViewModelMapper<PortfolioCreateReadViewModel, Portfolio>> MockPortfolioCreateMapper { get; }
public Mock<IViewModelMapper<Portfolio, PortfolioBaseViewModel>> MockPortfolioReadViewModelMapper { get; }
public Mock<IViewModelMapper<Portfolio, PortfolioCreateReadViewModel>> MockPortfolioReadViewModelMapper { get; }
public Mock<IViewModelMapperUpdater<PortfolioBaseViewModel, Portfolio>> MockPortfolioUpdateMapper { get; }
public Mock<IEnumerableViewModelMapper<IEnumerable<Portfolio>, IEnumerable<PortfolioCreateReadViewModel>>> MockPortfolioReadEnumerableViewModelMapper
{
Expand Down
4 changes: 2 additions & 2 deletions Tests/WebApi.Test/PortfolioControllerTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ public async Task GetAsync_WhenUserIdIsCorrect_ThenPortfolioBaseViewModelIsRetur

_fixture.MockPortfolioReadViewModelMapper
.Setup(mapper => mapper.Map(It.IsAny<Portfolio>()))
.Returns(_fixture.ReadyPortfolioBaseViewModel)
.Returns(_fixture.ReadyPortfolioCreateReadViewModel)
.Verifiable();

// Act
Expand All @@ -117,7 +117,7 @@ public async Task GetAsync_WhenUserIdIsCorrect_ThenPortfolioBaseViewModelIsRetur
.Verify();

Assert.NotNull(result);
Assert.IsType<PortfolioBaseViewModel>(result);
Assert.IsType<PortfolioCreateReadViewModel>(result);
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@

namespace WebApi.AutoMapper.AddressMappers
{
public class AddressCreateMapper : IViewModelMapper<AddressCreateReadViewModel, Address>
public class AddressCreateReadMapper : IViewModelMapper<AddressCreateReadViewModel, Address>
{
public Address Map(AddressCreateReadViewModel source)
{
return new Address
{
UserId = source.Id,
City = source.City,
Street = source.Street,
House = source.House,
City = source.City!,
Street = source.Street!,
House = source.House!,
ZipCode = source.ZipCode,
ApartmentNumber = source.ApartmentNumber
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace WebApi.AutoMapper.AddressMappers
{
public class AddressCreateViewModelMapper : IViewModelMapper<Address, AddressCreateReadViewModel>
public class AddressCreateReadViewModelMapper : IViewModelMapper<Address, AddressCreateReadViewModel>
{
public AddressCreateReadViewModel Map(Address source)
{
Expand Down
24 changes: 12 additions & 12 deletions WebApi/AutoMapper/AddressMappers/AddressUpdateMapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,27 @@

namespace WebApi.AutoMapper.AddressMappers
{
public class AddressUpdateMapper : IViewModelMapperUpdater<AddressBaseViewModel, Address>
public class AddressUpdateMapper : IViewModelMapperUpdater<AddressUpdateViewModel, Address>
{
public Address Map(AddressBaseViewModel source)
public Address Map(AddressUpdateViewModel source)
{
return new Address
{
City = source.City,
Street = source.Street,
House = source.House,
ZipCode = source.ZipCode,
ApartmentNumber = source.ApartmentNumber
City = source.City ?? string.Empty,
Street = source.Street ?? string.Empty,
House = source.House ?? string.Empty,
ApartmentNumber = source.ApartmentNumber,
ZipCode = source.ZipCode
};
}

public void Map(AddressBaseViewModel source, Address dest)
public void Map(AddressUpdateViewModel source, Address dest)
{
dest.City = source.City;
dest.Street = source.Street;
dest.House = source.House;
dest.ZipCode = source.ZipCode;
dest.City = source.City ?? dest.City;
dest.Street = source.Street ?? dest.Street;
dest.House = source.House ?? dest.House;
dest.ApartmentNumber = source.ApartmentNumber;
dest.ZipCode = source.ZipCode;
}
}
}
Expand Down
21 changes: 0 additions & 21 deletions WebApi/AutoMapper/AddressMappers/AddressViewModelMapper.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -79,16 +79,14 @@ public static void AddApplicationMappers(this IServiceCollection services)
services.AddScoped<IViewModelMapper<PagedList<Salary>, PagedReadViewModel<SalaryViewModel>>, SalaryPagedMapper>();
services.AddScoped<IViewModelMapper<PagedList<FinancialStatement>, PagedReadViewModel<FinancialStatementForMonthViewModel>>, FinancialStatementPagedMapper>();

services.AddScoped<IViewModelMapper<Portfolio, PortfolioBaseViewModel>, PortfolioViewModelMapper>();
services.AddScoped<IViewModelMapper<Portfolio, PortfolioCreateReadViewModel>, PortfolioCreateViewModelMapper>();
services.AddScoped<IViewModelMapper<PortfolioCreateReadViewModel, Portfolio>, PortfolioCreateMapper>();
services.AddScoped<IViewModelMapper<Portfolio, PortfolioCreateReadViewModel>, PortfolioCreateReadViewModelMapper>();
services.AddScoped<IViewModelMapper<PortfolioCreateReadViewModel, Portfolio>, PortfolioCreateReadMapper>();
services.AddScoped<IViewModelMapperUpdater<PortfolioBaseViewModel, Portfolio>, PortfolioUpdateMapper>();
services.AddScoped<IEnumerableViewModelMapper<IEnumerable<Portfolio>, IEnumerable<PortfolioCreateReadViewModel>>, PortfolioReadEnumerableViewModelMapper>();

services.AddScoped<IViewModelMapper<Address, AddressBaseViewModel>, AddressViewModelMapper>();
services.AddScoped<IViewModelMapper<Address, AddressCreateReadViewModel>, AddressCreateViewModelMapper>();
services.AddScoped<IViewModelMapper<AddressCreateReadViewModel, Address>, AddressCreateMapper>();
services.AddScoped<IViewModelMapperUpdater<AddressBaseViewModel, Address>, AddressUpdateMapper>();
services.AddScoped<IViewModelMapper<Address, AddressCreateReadViewModel>, AddressCreateReadViewModelMapper>();
services.AddScoped<IViewModelMapper<AddressCreateReadViewModel, Address>, AddressCreateReadMapper>();
services.AddScoped<IViewModelMapperUpdater<AddressUpdateViewModel, Address>, AddressUpdateMapper>();
services.AddScoped<IEnumerableViewModelMapper<IEnumerable<Address>, IEnumerable<AddressCreateReadViewModel>>, AddressReadEnumerableViewModelMapper>();

services.AddScoped<IViewModelMapper<Article, ReadArticleViewModel>, ReadArticleMapper>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace WebApi.AutoMapper.PortfolioMappers
{
public class PortfolioCreateMapper : IViewModelMapper<PortfolioCreateReadViewModel, Portfolio>
public class PortfolioCreateReadMapper : IViewModelMapper<PortfolioCreateReadViewModel, Portfolio>
{
public Portfolio Map(PortfolioCreateReadViewModel source)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace WebApi.AutoMapper.PortfolioMappers
{
public class PortfolioCreateViewModelMapper : IViewModelMapper<Portfolio, PortfolioCreateReadViewModel>
public class PortfolioCreateReadViewModelMapper : IViewModelMapper<Portfolio, PortfolioCreateReadViewModel>
{
public PortfolioCreateReadViewModel Map(Portfolio source)
{
Expand Down
17 changes: 0 additions & 17 deletions WebApi/AutoMapper/PortfolioMappers/PortfolioViewModelMapper.cs

This file was deleted.

Loading

0 comments on commit f7a01d2

Please sign in to comment.