public void AddAddress_AddNewAddress_Success(int _clientId, string _country, string _city, string _street, int _ZIPCode, int _buildingNumber, string _apartmentNumber) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var testSessionToken = SessionRepository.StartNewSession(_clientId); var addAddressCommand = new AddAddressCommand { sessionToken = testSessionToken, country = _country, city = _city, street = _street, ZIPCode = _ZIPCode, buildingNumber = _buildingNumber, apartmentNumber = _apartmentNumber }; var handler = new AddAddressCommandHandler(); var addressBook = (AddressBookDto)handler.Handle(addAddressCommand); var record = DatabaseQueryProcessor.GetAddress(_clientId, _country, _city, _street, _ZIPCode, _buildingNumber, _apartmentNumber); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.IsNotNull(record); Assert.AreEqual(_clientId, record.clientId); Assert.AreEqual(_country, record.country); Assert.AreEqual(_city, record.city); Assert.AreEqual(_street, record.street); Assert.AreEqual(_ZIPCode, record.ZIPCode); Assert.AreEqual(_buildingNumber, record.buildingNumber); Assert.AreEqual(_apartmentNumber, record.apartmentNumber); }
public void UpdatePersonalData_WrongData_Exception(string _email, string _firstName, string _lastName, bool _changePassword, string _newPassword, bool _receiveNewsletterEmail, string _newsletterEmail) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); int clientId = 0; var testSessionToken = SessionRepository.StartNewSession(clientId); var updatePersonalDataCommand = new UpdatePersonalDataCommand { sessionToken = testSessionToken, email = _email, firstName = _firstName, lastName = _lastName, changePassword = _changePassword, newPassword = _newPassword, receiveNewsletterEmail = _receiveNewsletterEmail, newsletterEmail = _newsletterEmail }; var handler = new UpdatePersonalDataCommandHandler(); TestDelegate result = () => handler.Handle(updatePersonalDataCommand); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.Throws <Exception>(result); }
public void AddPayment_CorrectAttributes_Success(int _clientId, string _paymentId) { var testSessionToken = SessionRepository.StartNewSession(_clientId); DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var addPaymentCommand = new AddPaymentCommand { sessionToken = testSessionToken, paymentId = _paymentId }; var lastOrder = DatabaseQueryProcessor.GetTheMostRecentOrder(_clientId); var total = DatabaseQueryProcessor.GetTotal(lastOrder.orderId); var isSuccessfulPayment = PaymentMethod.Check(_paymentId, total); var handler = new AddPaymentCommandHandler(); var result = (SuccessInfoDto)handler.Handle(addPaymentCommand); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.IsTrue(result.isSuccess); Assert.IsTrue(isSuccessfulPayment); }
public void UpdatePersonalData_ChangePassword_Success(string _email, string _firstName, string _lastName, bool _changePassword, string _newPassword, bool _receiveNewsletterEmail, string _newsletterEmail) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); int clientId = 0; var testSessionToken = SessionRepository.StartNewSession(clientId); var updatePersonalDataCommand = new UpdatePersonalDataCommand { sessionToken = testSessionToken, email = _email, firstName = _firstName, lastName = _lastName, changePassword = _changePassword, newPassword = _newPassword, receiveNewsletterEmail = _receiveNewsletterEmail, newsletterEmail = _newsletterEmail }; var handler = new UpdatePersonalDataCommandHandler(); var result = (PersonalDataDto)handler.Handle(updatePersonalDataCommand); var foundClient = DatabaseQueryProcessor.GetClient(_email, PasswordEncryptor.encryptSha256(_newPassword)); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.IsNotNull(result); Assert.AreEqual(_email, result.email); Assert.AreEqual(_firstName, result.firstName); Assert.AreEqual(_lastName, result.lastName); Assert.AreEqual(_newsletterEmail, result.newsletterEmail); Assert.IsNotNull(foundClient); }
public void AddAddress_ClientDoesntExist_Exception(int _clientId) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var testSessionToken = SessionRepository.StartNewSession(_clientId); var addAddressCommand = new AddAddressCommand { sessionToken = testSessionToken, country = "Poland", city = "Cracow", street = "Urzednicza", ZIPCode = 34040, buildingNumber = 100, apartmentNumber = "" }; var handler = new AddAddressCommandHandler(); TestDelegate result = () => handler.Handle(addAddressCommand); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.Throws <Exception>(result); }
public void AddComplaint_CorrectArgs_Success(int _clientId, int _orderId, string _description) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var testSessionToken = SessionRepository.StartNewSession(_clientId); var addComplaintCommand = new AddComplaintCommand { sessionToken = testSessionToken, orderId = _orderId, description = _description }; var handler = new AddComplaintCommandHandler(); var result = (SuccessInfoDto)handler.Handle(addComplaintCommand); var receivedComplaint = DatabaseQueryProcessor.GetComplaint(_orderId); SessionRepository.RemoveSession(testSessionToken); DatabaseQueryProcessor.Erase(); Assert.AreEqual(receivedComplaint.description, _description); Assert.AreEqual(receivedComplaint.openDate, DateTime.Now.ToString("yyyy-MM-dd")); Assert.IsTrue(result.isSuccess); }
public void RegisterNewClient_CorrectData_Success(string _email, string _firstName, string _lastName, string _password, bool _receiveNewsletterEmail, string _newsletterEmail) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var registerNewClient = new RegisterNewClientCommand { email = _email, firstName = _firstName, lastName = _lastName, password = _password, receiveNewsletterEmail = _receiveNewsletterEmail, newsletterEmail = _newsletterEmail }; var handler = new RegisterNewClientCommandHandler(); var result = (SuccessInfoDto)handler.Handle(registerNewClient); var newClient = DatabaseQueryProcessor.GetClient(_email, PasswordEncryptor.encryptSha256(_password)); DatabaseQueryProcessor.Erase(); Assert.IsNotNull(newClient); Assert.IsTrue(result.isSuccess); Assert.AreEqual(_firstName, newClient.firstName); Assert.AreEqual(_lastName, newClient.lastName); Assert.AreEqual(_newsletterEmail, newClient.newsletterEmail); }
public void AddAddress_DuplicateAddress_Success(int _clientId, string _country, string _city, string _street, int _ZIPCode, int _buildingNumber, string _apartmentNumber) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var testSessionToken = SessionRepository.StartNewSession(_clientId); var addressExists = DatabaseQueryProcessor.GetAddress(_clientId, _country, _city, _street, _ZIPCode, _buildingNumber, _apartmentNumber); if (addressExists != null) { DatabaseQueryProcessor.UpdateAddress(addressExists.addressId, false); } var addAddressCommand = new AddAddressCommand { sessionToken = testSessionToken, country = _country, city = _city, street = _street, ZIPCode = _ZIPCode, buildingNumber = _buildingNumber, apartmentNumber = _apartmentNumber }; var handler = new AddAddressCommandHandler(); var addressBook = (AddressBookDto)handler.Handle(addAddressCommand); var record = DatabaseQueryProcessor.GetAddress(_clientId, _country, _city, _street, _ZIPCode, _buildingNumber, _apartmentNumber); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.IsTrue(record.isActive); }
public void SignIn_WrongData_Fail(string _email, string _password) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var signInCommand = new SignInCommand { email = _email, password = _password }; var handler = new SignInCommandHandler(); var result = (SignInInfoDto)handler.Handle(signInCommand); DatabaseQueryProcessor.Erase(); Assert.IsFalse(result.isSuccess); }
public void AddOrder_AddressDoesntExist_Exception(int _clientId) { var testSessionToken = SessionRepository.StartNewSession(_clientId); DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var testOrderEntry = new OrderEntryDto { key = 0, name = "Lavazza", quantity = 1, price = 15 }; var testOrderEntries = new OrderEntryDto[1]; testOrderEntries[0] = testOrderEntry; var testAddress = new AddressDto { key = 0, country = "Poland", city = "Gdansk", street = "Rzemieslnicza", ZIPCode = 30445, buildingNumber = 12, apartmentNumber = "1a" }; var addOrderCommand = new AddOrderCommand { sessionToken = testSessionToken, orderEntries = testOrderEntries, totalPrice = "15.00", address = testAddress }; var handler = new AddOrderCommandHandler(); TestDelegate result = () => handler.Handle(addOrderCommand); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.Throws <Exception>(result); }
public void GetShopItems_EmptyDatabase_Success() { int productsCount = 0; DatabaseQueryProcessor.Erase(); var getShopItemsQuery = new GetShopItemsQuery { }; var handler = new GetShopItemsQueryHandler(); var result = (ShopItemsDto)handler.Handle(getShopItemsQuery); DatabaseQueryProcessor.Erase(); Assert.IsTrue(result.isSuccess); Assert.AreEqual(productsCount, result.shopItems.Length); }
public void AddAddressBook_ClientDoesntExist_Exception(int _clientId) { DatabaseQueryProcessor.Erase(); var testSessionToken = SessionRepository.StartNewSession(_clientId); var getAddressBookQuery = new GetAddressBookQuery { sessionToken = testSessionToken, }; var handler = new GetAddressBookQueryHandler(); TestDelegate result = () => handler.Handle(getAddressBookQuery); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.Throws <Exception>(result); }
public void AddPayment_ClientHasNoOrders_Success(int _clientId, string _paymentId) { var testSessionToken = SessionRepository.StartNewSession(_clientId); DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var addPaymentCommand = new AddPaymentCommand { sessionToken = testSessionToken, paymentId = _paymentId }; var handler = new AddPaymentCommandHandler(); TestDelegate result = () => handler.Handle(addPaymentCommand); SessionRepository.RemoveSession(testSessionToken); Assert.Throws <Exception>(result); }
public void AddComplaint_DifferentClientId_Exception(int _orderId) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var testSessionToken = SessionRepository.StartNewSession(0); var addComplaintCommand = new AddComplaintCommand { sessionToken = testSessionToken, orderId = _orderId, description = "I am dissatisfied" }; var handler = new AddComplaintCommandHandler(); TestDelegate result = () => handler.Handle(addComplaintCommand); SessionRepository.RemoveSession(testSessionToken); Assert.Throws <Exception>(result); }
public void AddComplaint_ComplaintAlreadyExist_Exception(int _clientId, int _orderId, string _description) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var testSessionToken = SessionRepository.StartNewSession(_clientId); var addComplaintCommand = new AddComplaintCommand { sessionToken = testSessionToken, orderId = _orderId, description = _description }; var handler = new AddComplaintCommandHandler(); TestDelegate result = () => handler.Handle(addComplaintCommand); SessionRepository.RemoveSession(testSessionToken); Assert.Throws <Exception>(result); }
public void GetOrders_ClientDoesntExist_Exception(int _clientId) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); int clientId = _clientId; var testSessionToken = SessionRepository.StartNewSession(clientId); var getOrdersQuery = new GetOrdersQuery { sessionToken = testSessionToken, }; var handler = new GetOrdersQueryHandler(); TestDelegate result = () => handler.Handle(getOrdersQuery); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.Throws <Exception>(result); }
public void RegisterNewClient_IncorrectNewsletterEmail_Exception(string _newsletterEmail) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var registerNewClient = new RegisterNewClientCommand { email = "*****@*****.**", firstName = "Jane", lastName = "Doe", password = "******", receiveNewsletterEmail = true, newsletterEmail = _newsletterEmail }; var handler = new RegisterNewClientCommandHandler(); TestDelegate result = () => handler.Handle(registerNewClient); DatabaseQueryProcessor.Erase(); Assert.Throws <Exception>(result); }
public void RegisterNewClient_ClentExists_Exception(string _email, string _firstName, string _lastName, string _password, bool _receiveNewsletterEmail, string _newsletterEmail) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var registerNewClient = new RegisterNewClientCommand { email = _email, firstName = _firstName, lastName = _lastName, password = _password, receiveNewsletterEmail = _receiveNewsletterEmail, newsletterEmail = _newsletterEmail }; var handler = new RegisterNewClientCommandHandler(); TestDelegate result = () => handler.Handle(registerNewClient); Assert.Throws <Exception>(result); DatabaseQueryProcessor.Erase(); }
public void InactivateAddress_NoAddressInDatabase_Fail() { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); int testClientId = 0; int testAddressKey = 50; var testSessionToken = SessionRepository.StartNewSession(testClientId); InactivateAddressCommand inactivateAddressCommand = new InactivateAddressCommand { sessionToken = testSessionToken, addressKey = testAddressKey }; var handler = new InactivateAddressCommandHandler(); var result = (SuccessInfoDto)handler.Handle(inactivateAddressCommand); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.IsFalse(result.isSuccess); }
public void InactivateAddress_CorrectAttributes_Success() { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); int clientId = 0; var testSessionToken = SessionRepository.StartNewSession(clientId); var inactivateAddressCommand = new InactivateAddressCommand { sessionToken = testSessionToken, addressKey = 0 }; var handler = new InactivateAddressCommandHandler(); var result = (AddressBookDto)handler.Handle(inactivateAddressCommand); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.AreEqual(result.addresses.Length, 1); }
public void GetShopItems_FilledDatabase_Success() { int productsCount = 2; DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var getShopItemsQuery = new GetShopItemsQuery { }; var handler = new GetShopItemsQueryHandler(); var result = (ShopItemsDto)handler.Handle(getShopItemsQuery); DatabaseQueryProcessor.Erase(); Assert.IsTrue(result.isSuccess); Assert.AreEqual(productsCount, result.shopItems.Length); Assert.AreEqual(result.shopItems[0].name, "Lavazza"); Assert.AreEqual(result.shopItems[0].price, 1500); Assert.AreEqual(result.shopItems[1].name, "Vergnano"); Assert.AreEqual(result.shopItems[1].price, 2500); }
public void GetPersonalData_CorrectData_Success(int _clientId) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); int clientId = _clientId; var expectedPersonalData = new PersonalDataDto { isSuccess = true, email = "*****@*****.**", firstName = "Jane", lastName = "Doe", receiveNewsletterEmail = true, newsletterEmail = "*****@*****.**" }; var testSessionToken = SessionRepository.StartNewSession(clientId); var getPersonalDataQuery = new GetPersonalDataQuery { sessionToken = testSessionToken, }; var handler = new GetPersonalDataQueryHandler(); var result = (PersonalDataDto)handler.Handle(getPersonalDataQuery); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.IsTrue(result.isSuccess); Assert.AreEqual(expectedPersonalData.email, result.email); Assert.AreEqual(expectedPersonalData.firstName, result.firstName); Assert.AreEqual(expectedPersonalData.lastName, result.lastName); Assert.AreEqual(expectedPersonalData.receiveNewsletterEmail, result.receiveNewsletterEmail); Assert.AreEqual(expectedPersonalData.newsletterEmail, result.newsletterEmail); }
public void AddOrder_CorrectAttributes_Success(int _clientId) { int _key = 0; string _country = "Poland"; string _city = "Gdynia"; string _street = "Rzemieslnicza"; int _ZIPCode = 30445; int _buildingNumber = 12; string _apartmentNumber = "1a"; var testSessionToken = SessionRepository.StartNewSession(_clientId); DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var testOrderEntry = new OrderEntryDto { key = 0, name = "Lavazza", quantity = 1, price = 15 }; var testOrderEntries = new OrderEntryDto[1]; testOrderEntries[0] = testOrderEntry; var testAddress = new AddressDto { key = _key, country = _country, city = _city, street = _street, ZIPCode = _ZIPCode, buildingNumber = _buildingNumber, apartmentNumber = _apartmentNumber }; var addOrderCommand = new AddOrderCommand { sessionToken = testSessionToken, orderEntries = testOrderEntries, totalPrice = "15.00", address = testAddress }; var addressId = DatabaseQueryProcessor.GetAddress(_clientId, _country, _city, _street, _ZIPCode, _buildingNumber, _apartmentNumber); var handler = new AddOrderCommandHandler(); var result = (SuccessInfoDto)handler.Handle(addOrderCommand); var expectedOrder = DatabaseQueryProcessor.GetTheMostRecentOrder(_clientId); SessionRepository.RemoveSession(testSessionToken); DatabaseQueryProcessor.Erase(); Assert.IsTrue(result.isSuccess); }
public void GetOrders_ClientExists_Success(int _clientId) { var expectedOrderEntry = new OrderEntryDto { key = 2, name = "Vergnano", quantity = 1, price = 25 }; var expectedOrderEntries = new OrderEntryDto[1]; expectedOrderEntries[0] = expectedOrderEntry; var expectedAddress = new AddressDto { key = 2, country = "Poland", city = "Cracow", street = "Krakowska", ZIPCode = 30000, buildingNumber = 1, apartmentNumber = "" }; var expectedOrder = new OrderDto { key = 2, orderEntries = expectedOrderEntries, totalPrice = 25, address = expectedAddress, status = 0, openDate = "2018-06-12", closeDate = "" }; var expectedOrders = new OrderDto[1]; expectedOrders[0] = expectedOrder; var expectedOrderDto = new OrdersDto { isSuccess = true, orders = expectedOrders }; DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); int clientId = _clientId; var testSessionToken = SessionRepository.StartNewSession(clientId); var getOrdersQuery = new GetOrdersQuery { sessionToken = testSessionToken, }; var handler = new GetOrdersQueryHandler(); var result = (OrdersDto)handler.Handle(getOrdersQuery); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.IsTrue(result.isSuccess); Assert.AreEqual(result.orders.Length, expectedOrderDto.orders.Length); Assert.AreEqual(result.orders[0].orderEntries.Length, expectedOrderDto.orders[0].orderEntries.Length); Assert.AreEqual(result.orders[0].status, expectedOrderDto.orders[0].status); Assert.AreEqual(result.orders[0].address.apartmentNumber, expectedOrderDto.orders[0].address.apartmentNumber); }
public void GetAddressBook_CorrectAttributes_Success(int _clientId) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var firstAddress = new AddressDto { key = 0, country = "Poland", city = "Gdynia", street = "Rzemieslnicza", ZIPCode = 30445, buildingNumber = 12, apartmentNumber = "1a" }; var secondAddress = new AddressDto { key = 0, country = "Poland", city = "Warsaw", street = "Grodzka", ZIPCode = 25487, buildingNumber = 23, apartmentNumber = "" }; var testAddresses = new AddressDto[2]; testAddresses[0] = firstAddress; testAddresses[1] = secondAddress; var expectedAddressBook = new AddressBookDto { isSuccess = true, addresses = testAddresses }; var testSessionToken = SessionRepository.StartNewSession(_clientId); var getAddressBookQuery = new GetAddressBookQuery { sessionToken = testSessionToken, }; var handler = new GetAddressBookQueryHandler(); var addressBook = (AddressBookDto)handler.Handle(getAddressBookQuery); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.AreEqual(expectedAddressBook.addresses.Length, addressBook.addresses.Length); Assert.AreEqual(expectedAddressBook.addresses[0].country, addressBook.addresses[0].country); Assert.AreEqual(expectedAddressBook.addresses[0].city, addressBook.addresses[0].city); Assert.AreEqual(expectedAddressBook.addresses[0].street, addressBook.addresses[0].street); Assert.AreEqual(expectedAddressBook.addresses[0].ZIPCode, addressBook.addresses[0].ZIPCode); Assert.AreEqual(expectedAddressBook.addresses[0].buildingNumber, addressBook.addresses[0].buildingNumber); Assert.AreEqual(expectedAddressBook.addresses[0].apartmentNumber, addressBook.addresses[0].apartmentNumber); Assert.AreEqual(expectedAddressBook.addresses[1].country, addressBook.addresses[1].country); Assert.AreEqual(expectedAddressBook.addresses[1].city, addressBook.addresses[1].city); Assert.AreEqual(expectedAddressBook.addresses[1].street, addressBook.addresses[1].street); Assert.AreEqual(expectedAddressBook.addresses[1].ZIPCode, addressBook.addresses[1].ZIPCode); Assert.AreEqual(expectedAddressBook.addresses[1].buildingNumber, addressBook.addresses[1].buildingNumber); Assert.AreEqual(expectedAddressBook.addresses[1].apartmentNumber, addressBook.addresses[1].apartmentNumber); }