Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#38] [Backend] As a user, I can query the stored data from my previously uploaded keywords #52

Draft
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

liamstevens111
Copy link
Owner

@liamstevens111 liamstevens111 commented Jun 10, 2022

What happened 👀

Describe the big picture of your changes here to communicate to the team why we should accept this pull request.

Insight 📝

Describe in detail how to test the changes, which solution you tried but did not go with, referenced documentation is welcome as well.

Proof Of Work 📹

Show us the implementation: screenshots, GIFs, etc.

liamstevens111 and others added 6 commits May 19, 2022 14:20
* Update README.md

* Updated gettext errors

* Removed unused variables

* Fixed linting/formatting issues

* Fixed linting/formatting issues

* Update deploy_heroku.yml

* Rename deploy_heroku.yml to deploy_heroku_staging.yml

* Create deploy_heroku_prod.yaml

* Update deploy_heroku_staging.yml

* As a user I can sign up and sign in with a valid e-mail and password  (#28)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Change refute to assert false for testing outcomese

* [#6 #7 #16 #22] Changed from pattern matching to double equals to match exact output when required. Move value being tested against to the right side

* [#3] [UI] As a user, I can upload a CSV file containing keywords which will then be used to search on Google (#31)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#3] Add endpoint and controller for handling keyword upload

* [#3] Add template files for uploading files, including upload form

* [#3] Add link to keywords page in navigation

* [#3] Remove coverall and comments from authenticated plug to prepare for tests

* [#3] Add tests for keyword controller and test csv file

* [#3] Add tests for ensure_authenticated plug

* Resolved merge conflict

* [#3] Format code

* [#3] Change keywords fixture file name and changed template to show 1000 keywords limit

* [#3] Remove blank line and re-order assert tests for ensure_authenticated plug tests

* [#3] Add an additional test to ensure unauthenticated users are unable to upload a keywords file

* [#3] Format test

* [#18] [Backend] As a user, I can upload a CSV file containing keywords which will be stored (#33)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#3] Add endpoint and controller for handling keyword upload

* [#3] Add template files for uploading files, including upload form

* [#3] Add link to keywords page in navigation

* [#3] Remove coverall and comments from authenticated plug to prepare for tests

* [#3] Add tests for keyword controller and test csv file

* [#3] Add tests for ensure_authenticated plug

* Resolved merge conflict

* [#3] Format code

* [#3] Change keywords fixture file name and changed template to show 1000 keywords limit

* [#3] Remove blank line and re-order assert tests for ensure_authenticated plug tests

* [#3] Add an additional test to ensure unauthenticated users are unable to upload a keywords file

* [#3] Format test

* [#18] Add NimbleCSV

* [#18] Add Keyword Controller and helper function for validate/parse csv

* [#18] Add Keyword Controller tests and additional test files for invalid cases

* [#18] Change invalid file format to invalid file extension

* [#18] Initial KeywordUpload Schema, associations and tests

* [#18] Initial code to carry out the mass insertions of keywords into the table for the User. Needs refactor wip

* [#18] Refactor KeywordUpload changeset to Use __MODULE__ as default argument

* #[18] Slight refactor of keyword saving for user wip

* Refactor Keyword context name and add one test

* [#18] Change alias to fix formatting errors

* [#18] Add test to Keyword Controller to verify an uplaod of two keywords returns the correct count to the user

* [#18] Add additional empty line for csv files

* [#18] Change from using length to Enum.count() for counting list size

* [#18] Change from using string field to text for keyword html storage to remove character limit

* [#18] Add positive test result for KeywordUpload changeset

* [#18] Remove unnecessary conn.halts from keyword controller

* [#18] Remove comments and changed grammar in test cases for Keywords

* [#18] Change name and status fields of KeywordUpload to be to not accept null

* [#18] Refactor parsing of keywords into correct structure for bulk inserts wip

* [#18] Add two further KeywordUpload changeset tests to ensure a KeywordUpload has to have an existing user

* [#1] [#20] As a user, I can view a list of my previously uploaded keywords (#35)

* #[1] Add Context function to retreive list of uploaded keywords for a particular user

* #[1] Add Controller and template to show the list of uploaded keywords for the user

* #[1] Change github action trigger from Pull Request to Push to allow staging and prod

* #[1] Change github action trigger from Pull Request to Push to allow staging and prod

* [#1] Add Uploaded field to display for each KeywordUpload and format using Calendar module

* #[1] Add test for KeywordView for formatting timestamp

* #[1] Change Repo.list_all to return the inserted Keywords

* #[1] Write tests for fetching KeywordUploads for a particular user

* #[1] Add KeywordUpload Factory to tests for listing KeywordUploads for a User

* [#1] Refactor keyword test using pipe operator to make it cleaner

* [#1] Fix formatting on keywords index template file

* [#1] Clean up keyword template file

* [#1] Remove external Calendar library dependencies due to built-in functionality in Elxiir

* [#1] Made keyword test title more explicit

* Remove prod.secret.exe config import to allow deployment (#36)
* Update README.md

* Updated gettext errors

* Removed unused variables

* Fixed linting/formatting issues

* Fixed linting/formatting issues

* Update deploy_heroku.yml

* Rename deploy_heroku.yml to deploy_heroku_staging.yml

* Create deploy_heroku_prod.yaml

* Update deploy_heroku_staging.yml

* As a user I can sign up and sign in with a valid e-mail and password  (#28)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Change refute to assert false for testing outcomese

* [#6 #7 #16 #22] Changed from pattern matching to double equals to match exact output when required. Move value being tested against to the right side

* [#3] [UI] As a user, I can upload a CSV file containing keywords which will then be used to search on Google (#31)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#3] Add endpoint and controller for handling keyword upload

* [#3] Add template files for uploading files, including upload form

* [#3] Add link to keywords page in navigation

* [#3] Remove coverall and comments from authenticated plug to prepare for tests

* [#3] Add tests for keyword controller and test csv file

* [#3] Add tests for ensure_authenticated plug

* Resolved merge conflict

* [#3] Format code

* [#3] Change keywords fixture file name and changed template to show 1000 keywords limit

* [#3] Remove blank line and re-order assert tests for ensure_authenticated plug tests

* [#3] Add an additional test to ensure unauthenticated users are unable to upload a keywords file

* [#3] Format test

* [#18] [Backend] As a user, I can upload a CSV file containing keywords which will be stored (#33)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#3] Add endpoint and controller for handling keyword upload

* [#3] Add template files for uploading files, including upload form

* [#3] Add link to keywords page in navigation

* [#3] Remove coverall and comments from authenticated plug to prepare for tests

* [#3] Add tests for keyword controller and test csv file

* [#3] Add tests for ensure_authenticated plug

* Resolved merge conflict

* [#3] Format code

* [#3] Change keywords fixture file name and changed template to show 1000 keywords limit

* [#3] Remove blank line and re-order assert tests for ensure_authenticated plug tests

* [#3] Add an additional test to ensure unauthenticated users are unable to upload a keywords file

* [#3] Format test

* [#18] Add NimbleCSV

* [#18] Add Keyword Controller and helper function for validate/parse csv

* [#18] Add Keyword Controller tests and additional test files for invalid cases

* [#18] Change invalid file format to invalid file extension

* [#18] Initial KeywordUpload Schema, associations and tests

* [#18] Initial code to carry out the mass insertions of keywords into the table for the User. Needs refactor wip

* [#18] Refactor KeywordUpload changeset to Use __MODULE__ as default argument

* #[18] Slight refactor of keyword saving for user wip

* Refactor Keyword context name and add one test

* [#18] Change alias to fix formatting errors

* [#18] Add test to Keyword Controller to verify an uplaod of two keywords returns the correct count to the user

* [#18] Add additional empty line for csv files

* [#18] Change from using length to Enum.count() for counting list size

* [#18] Change from using string field to text for keyword html storage to remove character limit

* [#18] Add positive test result for KeywordUpload changeset

* [#18] Remove unnecessary conn.halts from keyword controller

* [#18] Remove comments and changed grammar in test cases for Keywords

* [#18] Change name and status fields of KeywordUpload to be to not accept null

* [#18] Refactor parsing of keywords into correct structure for bulk inserts wip

* [#18] Add two further KeywordUpload changeset tests to ensure a KeywordUpload has to have an existing user

* [#1] [#20] As a user, I can view a list of my previously uploaded keywords (#35)

* #[1] Add Context function to retreive list of uploaded keywords for a particular user

* #[1] Add Controller and template to show the list of uploaded keywords for the user

* #[1] Change github action trigger from Pull Request to Push to allow staging and prod

* #[1] Change github action trigger from Pull Request to Push to allow staging and prod

* [#1] Add Uploaded field to display for each KeywordUpload and format using Calendar module

* #[1] Add test for KeywordView for formatting timestamp

* #[1] Change Repo.list_all to return the inserted Keywords

* #[1] Write tests for fetching KeywordUploads for a particular user

* #[1] Add KeywordUpload Factory to tests for listing KeywordUploads for a User

* [#1] Refactor keyword test using pipe operator to make it cleaner

* [#1] Fix formatting on keywords index template file

* [#1] Clean up keyword template file

* [#1] Remove external Calendar library dependencies due to built-in functionality in Elxiir

* [#1] Made keyword test title more explicit

* Remove prod.secret.exe config import to allow deployment (#36)

* [#24] [Backend] Retrieve and store HTML response using background job on Google Search with uploaded keywords (#39)

* Release - 0.2.0 (#37)

* Update README.md

* Updated gettext errors

* Removed unused variables

* Fixed linting/formatting issues

* Fixed linting/formatting issues

* Update deploy_heroku.yml

* Rename deploy_heroku.yml to deploy_heroku_staging.yml

* Create deploy_heroku_prod.yaml

* Update deploy_heroku_staging.yml

* As a user I can sign up and sign in with a valid e-mail and password  (#28)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Change refute to assert false for testing outcomese

* [#6 #7 #16 #22] Changed from pattern matching to double equals to match exact output when required. Move value being tested against to the right side

* [#3] [UI] As a user, I can upload a CSV file containing keywords which will then be used to search on Google (#31)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#3] Add endpoint and controller for handling keyword upload

* [#3] Add template files for uploading files, including upload form

* [#3] Add link to keywords page in navigation

* [#3] Remove coverall and comments from authenticated plug to prepare for tests

* [#3] Add tests for keyword controller and test csv file

* [#3] Add tests for ensure_authenticated plug

* Resolved merge conflict

* [#3] Format code

* [#3] Change keywords fixture file name and changed template to show 1000 keywords limit

* [#3] Remove blank line and re-order assert tests for ensure_authenticated plug tests

* [#3] Add an additional test to ensure unauthenticated users are unable to upload a keywords file

* [#3] Format test

* [#18] [Backend] As a user, I can upload a CSV file containing keywords which will be stored (#33)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#3] Add endpoint and controller for handling keyword upload

* [#3] Add template files for uploading files, including upload form

* [#3] Add link to keywords page in navigation

* [#3] Remove coverall and comments from authenticated plug to prepare for tests

* [#3] Add tests for keyword controller and test csv file

* [#3] Add tests for ensure_authenticated plug

* Resolved merge conflict

* [#3] Format code

* [#3] Change keywords fixture file name and changed template to show 1000 keywords limit

* [#3] Remove blank line and re-order assert tests for ensure_authenticated plug tests

* [#3] Add an additional test to ensure unauthenticated users are unable to upload a keywords file

* [#3] Format test

* [#18] Add NimbleCSV

* [#18] Add Keyword Controller and helper function for validate/parse csv

* [#18] Add Keyword Controller tests and additional test files for invalid cases

* [#18] Change invalid file format to invalid file extension

* [#18] Initial KeywordUpload Schema, associations and tests

* [#18] Initial code to carry out the mass insertions of keywords into the table for the User. Needs refactor wip

* [#18] Refactor KeywordUpload changeset to Use __MODULE__ as default argument

* #[18] Slight refactor of keyword saving for user wip

* Refactor Keyword context name and add one test

* [#18] Change alias to fix formatting errors

* [#18] Add test to Keyword Controller to verify an uplaod of two keywords returns the correct count to the user

* [#18] Add additional empty line for csv files

* [#18] Change from using length to Enum.count() for counting list size

* [#18] Change from using string field to text for keyword html storage to remove character limit

* [#18] Add positive test result for KeywordUpload changeset

* [#18] Remove unnecessary conn.halts from keyword controller

* [#18] Remove comments and changed grammar in test cases for Keywords

* [#18] Change name and status fields of KeywordUpload to be to not accept null

* [#18] Refactor parsing of keywords into correct structure for bulk inserts wip

* [#18] Add two further KeywordUpload changeset tests to ensure a KeywordUpload has to have an existing user

* [#1] [#20] As a user, I can view a list of my previously uploaded keywords (#35)

* #[1] Add Context function to retreive list of uploaded keywords for a particular user

* #[1] Add Controller and template to show the list of uploaded keywords for the user

* #[1] Change github action trigger from Pull Request to Push to allow staging and prod

* #[1] Change github action trigger from Pull Request to Push to allow staging and prod

* [#1] Add Uploaded field to display for each KeywordUpload and format using Calendar module

* #[1] Add test for KeywordView for formatting timestamp

* #[1] Change Repo.list_all to return the inserted Keywords

* #[1] Write tests for fetching KeywordUploads for a particular user

* #[1] Add KeywordUpload Factory to tests for listing KeywordUploads for a User

* [#1] Refactor keyword test using pipe operator to make it cleaner

* [#1] Fix formatting on keywords index template file

* [#1] Clean up keyword template file

* [#1] Remove external Calendar library dependencies due to built-in functionality in Elxiir

* [#1] Made keyword test title more explicit

* Remove prod.secret.exe config import to allow deployment (#36)

* [#24] Add client to interface with Google Search to carry out queries and receive HTML respose

* [#24] Add HTTPoison dependency for Google Search Client

* [#24] Add KeywordUpload functions and changesets for updating the status and HTML

* [#24] Add Oban job and worker for fetching HTML for KeywordUpload and updating its status

* [#24] Modify KeywordController to handle creation of KeywordUpload jobs via helper function

* [#24] Refactor GoogleSearchClient function name

* [#24] Fix oban job not scheduling with delay

* [#24] Fix oban job not scheduling with delay

* [#24] Refactor delay time to function argument

* [#24] Add test using ExVCR to ensure GoogleSearchClient returns valid response

* [#24] Add test using ExVCR to ensure GoogleSearchClient returns valid response

* [#24] Add tests for the worker that performs the retrieving of the HTML and updating the status

* [#24] Remove pattern matching on HTTPoison error result due to current testability issues

* [#24] Add additional tests for KeywordUpload changesets for updating the status and html

* [#24] Add additional tests for KeywordUpload context functions for updating the status and html

* [#24] Change from Enum.zip_with function to Enum.with_index to generate delays for each job to improve readability

* [#24] Add additional assertion for the status prior to change to make it more explicit that the status gets changed successfully

* [#24] Make test title for the valid html changeset result more explicit

* [#24] Change the KeywordUpload status to failed when max attempts have been reached

* [#24] Create test for the job creation helper function to ensure jobs are inserted with delay

* [#24] Reverted one line multi alias to conform to formatting warning

* [#24] Change function guard to simpler pattern match for keyword upload worker attempts

* [#24] Clean up search worker using pipes

* [#24] Update job creation helper file name to include the suffix of helper

* [#24] Update job creation helper file name to include the suffix of helper

* [#24] Rename module SearchWorker to KeywordSearchWorker to reflect file name

* [#24] Explicitly set uploaded keyword status during status update tests

* [#24] Change function name insert_keyword_upload_html to update_keyword_upload_html

* [#24] Clean up formatting of job_creation_helper_test

* [#24] Clea up pattern matching to make code cleaner for checking keyword uplaod status

* [#24] Add error response to GoogleSearchClient for 500 server errors with associated stub cassette test

* [#24] Fix coding style on keyword search worker

* [#24] Add additional error response and test for GoogleSearchClient to handle unhandled responses

* [#24] Add additional error response and test for GoogleSearchClient to handle unhandled responses

* [Chore] [#40] Update project structure and naming according to Nimble standards (#41)

* Release - 0.2.0 (#37)

* Update README.md

* Updated gettext errors

* Removed unused variables

* Fixed linting/formatting issues

* Fixed linting/formatting issues

* Update deploy_heroku.yml

* Rename deploy_heroku.yml to deploy_heroku_staging.yml

* Create deploy_heroku_prod.yaml

* Update deploy_heroku_staging.yml

* As a user I can sign up and sign in with a valid e-mail and password  (#28)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Change refute to assert false for testing outcomese

* [#6 #7 #16 #22] Changed from pattern matching to double equals to match exact output when required. Move value being tested against to the right side

* [#3] [UI] As a user, I can upload a CSV file containing keywords which will then be used to search on Google (#31)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#3] Add endpoint and controller for handling keyword upload

* [#3] Add template files for uploading files, including upload form

* [#3] Add link to keywords page in navigation

* [#3] Remove coverall and comments from authenticated plug to prepare for tests

* [#3] Add tests for keyword controller and test csv file

* [#3] Add tests for ensure_authenticated plug

* Resolved merge conflict

* [#3] Format code

* [#3] Change keywords fixture file name and changed template to show 1000 keywords limit

* [#3] Remove blank line and re-order assert tests for ensure_authenticated plug tests

* [#3] Add an additional test to ensure unauthenticated users are unable to upload a keywords file

* [#3] Format test

* [#18] [Backend] As a user, I can upload a CSV file containing keywords which will be stored (#33)

* [#6 #16] As a user I can sign in with a valid e-mail and password

* Remove unused files

* Remove unsused update function for User

* Add session for user after log in

* Add unique email constraint on Users table

* Add user sign in

* Add current sign in status for user

* Add user sign out functionality (not in backlog)

* Remove / refactored code

* Remove coverage check for currently unused plug

* Add controller tests

* Prepare ExMachina for testing

* User sign out now displays a message

* Change session deletion method to ensure persistence of message to user upon sign out

* Refactored password hashing function so it can be used in future tests

* Refactor fixture to use ExMachina and Faker for data generation

* Modify ExUnit tests to conform to standards

* Tidy template pages with correct formatting

* Remove comments and cleaned up code

* Merge migrations into single file for User schema

* Remove comments and cleaned up code

* Correct English used in ExUnit test case

* Move secret_key-base file to environment variable for production

* Change multiple alias identifiers from one line to multiple to satisy codebase

* Make blank line seperation more consistent in the tests

* Add feature test case for User log in

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Add account tests for invalid cases and fixed formatting

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Refactor code according to feedback

* [#6 #7 #16 #22] Remove code form AuthController to AuthHelper to reflect the functionality

* [#6 #7 #16 #22] Remove auto-generated function spec

* [#6 #7 #16 #22] Moved Account context into accounts folder and account schema into its own folder to improve structure

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#6 #7 #16 #22] Add tests for user changesets for negative paths

* [#3] Add endpoint and controller for handling keyword upload

* [#3] Add template files for uploading files, including upload form

* [#3] Add link to keywords page in navigation

* [#3] Remove coverall and comments from authenticated plug to prepare for tests

* [#3] Add tests for keyword controller and test csv file

* [#3] Add tests for ensure_authenticated plug

* Resolved merge conflict

* [#3] Format code

* [#3] Change keywords fixture file name and changed template to show 1000 keywords limit

* [#3] Remove blank line and re-order assert tests for ensure_authenticated plug tests

* [#3] Add an additional test to ensure unauthenticated users are unable to upload a keywords file

* [#3] Format test

* [#18] Add NimbleCSV

* [#18] Add Keyword Controller and helper function for validate/parse csv

* [#18] Add Keyword Controller tests and additional test files for invalid cases

* [#18] Change invalid file format to invalid file extension

* [#18] Initial KeywordUpload Schema, associations and tests

* [#18] Initial code to carry out the mass insertions of keywords into the table for the User. Needs refactor wip

* [#18] Refactor KeywordUpload changeset to Use __MODULE__ as default argument

* #[18] Slight refactor of keyword saving for user wip

* Refactor Keyword context name and add one test

* [#18] Change alias to fix formatting errors

* [#18] Add test to Keyword Controller to verify an uplaod of two keywords returns the correct count to the user

* [#18] Add additional empty line for csv files

* [#18] Change from using length to Enum.count() for counting list size

* [#18] Change from using string field to text for keyword html storage to remove character limit

* [#18] Add positive test result for KeywordUpload changeset

* [#18] Remove unnecessary conn.halts from keyword controller

* [#18] Remove comments and changed grammar in test cases for Keywords

* [#18] Change name and status fields of KeywordUpload to be to not accept null

* [#18] Refactor parsing of keywords into correct structure for bulk inserts wip

* [#18] Add two further KeywordUpload changeset tests to ensure a KeywordUpload has to have an existing user

* [#1] [#20] As a user, I can view a list of my previously uploaded keywords (#35)

* #[1] Add Context function to retreive list of uploaded keywords for a particular user

* #[1] Add Controller and template to show the list of uploaded keywords for the user

* #[1] Change github action trigger from Pull Request to Push to allow staging and prod

* #[1] Change github action trigger from Pull Request to Push to allow staging and prod

* [#1] Add Uploaded field to display for each KeywordUpload and format using Calendar module

* #[1] Add test for KeywordView for formatting timestamp

* #[1] Change Repo.list_all to return the inserted Keywords

* #[1] Write tests for fetching KeywordUploads for a particular user

* #[1] Add KeywordUpload Factory to tests for listing KeywordUploads for a User

* [#1] Refactor keyword test using pipe operator to make it cleaner

* [#1] Fix formatting on keywords index template file

* [#1] Clean up keyword template file

* [#1] Remove external Calendar library dependencies due to built-in functionality in Elxiir

* [#1] Made keyword test title more explicit

* Remove prod.secret.exe config import to allow deployment (#36)

* [#40] Update .gitignore

* [#40] Changed context naming to plural form, and updated folder and module naming consistency with tests

* [#40] Add newline for end of .gitignore file

* [#40] Refactored tests and Exmachina to build the User through the Keyword factory insteado f separately in the tests

* [#24] [Backend] Parse the HTML and store URL data for the Keyword Upload search for the User (#43)

* [#24] Initial schema and migrations for storing URL data for Keyword Uploads

* [#24] Add initial tests for validating url data into changeset

* [#24] Clean up Keyword Upload factory

* [#24] Change to realistic uploaded search data to ensure adwords appear on page

* [#24] Remove doc comment

* [#24] Initial adword parsing wip

* [#24] Initial insertion of url data for keyword upload

* [#24] Refactor keyword parsing

* [#24] Refactor keyword parsing

* [#24] Modified test to check for completed status

* [#24] Add custom cassettes to test parser

* [#24] Add factory for creating url data for search results

* [#24] Add tests for parsing html links

* [#24] Add test for creating search results from url data

* [#24] Add tests for parsing html links

* [#24] Add additional test data to ensure bottom ads are displayed for cassettes

* [#24] Add additional test for bottom adwords parsing

* [#24] Add additional tests to ensure errors are created for invalid search url data

* [#24] Refactored search_result_url_date to search_result_url

* [#24] Refactor search_result_url_data to search_result_url

* [#24] Refactor naming of variables and functions related to url data

* [#24] Add blank line to avoid warnings for csv

* [#24] Move HTTPoison and cassette config out of test files to DataCse

* [#24] Move cassete files to correct location

* [#24] Refactor keyword parser for readability

* [#24] Clean up keyword URL parsing further

* [#24] Remove custom cassettes as not required

* [#24] Refactor google search result parser

* [24] Change name of google url parsing function

* [#24] Change vcr cassette names to clarify its usage

* [#24] Change name of functions used to parse individual urls from adwords

* Remove files that I accidently accepted back in merge conflict?
@liamstevens111 liamstevens111 changed the title Feature/38 keyword result query [#38] [Backend] As a user, I can query the stored data from my previously uploaded keywords Jun 10, 2022
@liamstevens111 liamstevens111 self-assigned this Jun 10, 2022
@liamstevens111 liamstevens111 added this to the 0.4.0 milestone Jun 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant