Backend for sphinx tribes and bounties. The bounty platform pays out in bitcoin. Sign up with Sphinx Chat, complete a bounty, and earn bitcoin! Go to our website for available bounties.
Currently, we test the TestGetListedTribes with a mock database.
Design
We want to refactor the tests to use a real Postgres DB spun up on docker, follow the instructions in the Unit Testing section of README.md to run spin up a database in docker, and change the test_config.go configuration.
After spinning up the Postgres DB container:
Add this line of code on the first line and second of the test function TestGetListedTribes to connect to the Test DB
- Assert that only tribes with `Unlisted: false` are returned from the API request
### Assertions
- [ ] Assert that all the test passes
### Acceptance Criteria
- [ ] Do not delete any of the existing test cases on the `TestGetListedTribes`
- [ ] All test cases after the `TestGetListedTribes` refactor passes
- [ ] The Refactoring of `TestGetListedTribes` should not break existing test flows.
- [ ] I have rebased and tested locally before submitting my PR
- [ ] I can submit a PR within 1 day of taking the bounty
Here is an [example Real DB Test](https://github.com/stakwork/sphinx-tribes/blob/e7419f99eff616a5a2ee4daefa12c2a5e5dde930/handlers/bounty_test.go#L455C1-L488C1)
Context
Currently, we test the
TestGetListedTribes
with a mock database.Design
We want to refactor the tests to use a real Postgres DB spun up on docker, follow the instructions in the
Unit Testing
section of README.md to run spin up a database in docker, and change thetest_config.go
configuration.After spinning up the Postgres DB container:
TestGetListedTribes
to connect to the Test DBThe test will throw a dereference error if not connected to a DB.
TestGetListedTribes
test cases e.g.mockDb.On("GetListedTribes", req).Return(expectedTribes)
.tHandler := NewTribeHandler(mockDb)
totHandler := NewTribeHandler(db.TestDb)
Unlisted: true
, and the other withUnlisted: false
using the db.TestDb.CreateOrEditTribe() function e.gdb.TestDb.CreateOrEditTribe(tribe) db.TestDb.CreateOrEditTribe(tribe2)